Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: serverpod/cli_tools
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: cli_tools-v0.8.0-beta.1
Choose a base ref
...
head repository: serverpod/cli_tools
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: config-v0.8.0
Choose a head ref
  • 3 commits
  • 23 files changed
  • 1 contributor

Commits on Sep 27, 2025

  1. feat: Support the carapace CLI completions tool (#67)

    Adds a Yaml specification generator for another command line completion
    tool, `carapace`.
    
    https://carapace.sh/
    
    The benefit with Carapace, compared with Completely, is that it supports
    a lot of shells, including Bash, ZSH, Fish, Elvish, Powershell, Cmd, and
    more.
    
    The drawback is that `carapace` requires end users to install it, rather
    than just distributing a pre-baked script with the command.
    
    Example of a carapace Yaml spec file:
    ```yaml
    # yaml-language-server: $schema=https://carapace.sh/schemas/command.json
    name: example
    persistentFlags:
      -q, --quiet: Suppress all cli output. Is overridden by  -v, --verbose.
      -v, --verbose: Prints additional information useful for development. Overrides --q, --quiet.
    
    commands:
      - name: completion
        flags:
          -t, --target=: 
          -e, --exec-name=: Override the name of the executable
          -f, --file=: Write the specification to a file instead of stdout
        completion:
          flag:
            target: ["completely", "carapace"]
            file: ["$files"]
    
      - name: show
        flags:
          -i, --interval=!: The time interval
          -n, --multi=*: The multioption
          -m, --mandatory: The mandatory flag
          --no-mandatory: The mandatory flag
        exclusiveFlags:
          - [mandatory, no-mandatory]
        completion:
          flag:
            multi: ["a", "b", "c", "d", "e", "f", "g"]
    ```
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    ## Summary by CodeRabbit
    
    - New Features
      - Experimental command-line completion support.
      - Generate completion specs for Carapace and Completely.
    - Supports overriding executable name and writing output to a file or
    stdout.
    
    - Documentation
    - Added “Command line completion” docs with setup, generation, and
    installation steps for Bash and Zsh.
      - New detailed guide covering both Carapace and Completely workflows.
    
    - Tests
    - Added end-to-end tests for completion command visibility and spec
    generation across targets and output modes.
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    christerswahn authored Sep 27, 2025
    Configuration menu
    Copy the full SHA
    46c7e61 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2025

  1. feat: Support embedding and installing shell completion scripts (#68)

    To make it easy for command developers to distribute the shell
    completion scripts to their end users, this adds two sub-commands:
    
    - `completion embed`: Embeds a completion script in a dart source file
    for inclusion in the command itself.
    - `completion install`: Installs an embedded completion script in the
    user's environment.
    
    ### Example
    
    This PR also includes a complete example in the `example` folder of
    using the completion feature with embedding and installing.
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    ## Summary by CodeRabbit
    
    - **New Features**
    - Enable command-line completion via a new non-experimental flag and
    pass embedded completion scripts to the runner.
    - Add commands to generate, embed, and install completion scripts for
    multiple targets (Completely, Carapace), plus install workflow for end
    users.
    - **Documentation**
    - Major README overhaul with step-by-step installation, usage examples,
    generation/embed/install workflows, and an added completion example.
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    christerswahn authored Sep 29, 2025
    Configuration menu
    Copy the full SHA
    8ccd27c View commit details
    Browse the repository at this point in the history
  2. chore(release): Publish packages v0.8.0 (#69)

    - cli_tools@0.8.0
     - config@0.8.0
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    
    ## Summary by CodeRabbit
    
    - Documentation
    - Consolidated 0.8.0 release notes by merging beta entries into a single
    stable section.
    - Clarified included items (e.g., command-line completion, Dart 3.9
    testing) and removed obsolete experimental/revert notes.
    - Chores
      - Promoted packages from 0.8.0-beta.1 to 0.8.0.
      - Aligned dependency versions to stable 0.8.0.
      - No runtime or behavior changes.
    
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    christerswahn authored Sep 29, 2025
    Configuration menu
    Copy the full SHA
    974bcdc View commit details
    Browse the repository at this point in the history
Loading