mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 21:31:19 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			94 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
function cabal_sandbox_info() {
 | 
						|
    cabal_files=(*.cabal(N))
 | 
						|
    if [ $#cabal_files -gt 0 ]; then
 | 
						|
        if [ -f cabal.sandbox.config ]; then
 | 
						|
            echo "%{$fg[green]%}sandboxed%{$reset_color%}"
 | 
						|
        else
 | 
						|
            echo "%{$fg[red]%}not sandboxed%{$reset_color%}"
 | 
						|
        fi
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function _cabal_commands() {
 | 
						|
    local ret=1 state
 | 
						|
    _arguments ':subcommand:->subcommand' && ret=0
 | 
						|
 | 
						|
    case $state in
 | 
						|
      subcommand)
 | 
						|
        subcommands=(
 | 
						|
          "bench:Run the benchmark, if any (configure with UserHooks)"
 | 
						|
          "build:Compile all targets or specific target."
 | 
						|
          "check:Check the package for common mistakes"
 | 
						|
          "clean:Clean up after a build"
 | 
						|
          "copy:Copy the files into the install locations"
 | 
						|
          "configure:Prepare to build the package"
 | 
						|
          "exec:Run a command with the cabal environment"
 | 
						|
          "fetch:Downloads packages for later installation"
 | 
						|
          "freeze:Freeze dependencies."
 | 
						|
          "get:Gets a package's source code"
 | 
						|
          "haddock:Generate Haddock HTML documentation"
 | 
						|
          "help:Help about commands"
 | 
						|
          "hscolour:Generate HsColour colourised code, in HTML format"
 | 
						|
          "info:Display detailed information about a particular package"
 | 
						|
          "init:Interactively create a .cabal file"
 | 
						|
          "install:Installs a list of packages"
 | 
						|
          "list:List packages matching a search string"
 | 
						|
          "register:Register this package with the compiler"
 | 
						|
          "repl:Open an interpreter session for the given target"
 | 
						|
          "report:Upload build reports to a remote server"
 | 
						|
          "run:Runs the compiled executable"
 | 
						|
          "sandbox:Create/modify/delete a sandbox"
 | 
						|
          "sdist:Generate a source distribution file (.tar.gz)"
 | 
						|
          "test:Run the test suite, if any (configure with UserHooks)"
 | 
						|
          "unpack:Unpacks packages for user inspection"
 | 
						|
          "update:Updates list of known packages"
 | 
						|
          "upload:Uploads source packages to Hackage"
 | 
						|
        )
 | 
						|
        _describe -t subcommands 'cabal subcommands' subcommands && ret=0
 | 
						|
    esac
 | 
						|
 | 
						|
    return ret
 | 
						|
}
 | 
						|
 | 
						|
compdef _cabal_commands cabal
 | 
						|
 | 
						|
function _cab_commands() {
 | 
						|
    local ret=1 state
 | 
						|
    _arguments ':subcommand:->subcommand' && ret=0
 | 
						|
 | 
						|
    case $state in
 | 
						|
      subcommand)
 | 
						|
        subcommands=(
 | 
						|
          "sync:Fetch the latest package index"
 | 
						|
          "install:Install packages"
 | 
						|
          "uninstall:Uninstall packages"
 | 
						|
          "installed:List installed packages"
 | 
						|
          "configure:Configure a cabal package"
 | 
						|
          "build:Build a cabal package"
 | 
						|
          "clean:Clean up a build directory"
 | 
						|
          "outdated:Display outdated packages"
 | 
						|
          "info:Display information of a package"
 | 
						|
          "sdist:Make tar.gz for source distribution"
 | 
						|
          "upload:Uploading tar.gz to HackageDB"
 | 
						|
          "get:Untar a package in the current directory"
 | 
						|
          "deps:Show dependencies of this package"
 | 
						|
          "revdeps:Show reverse dependencies of this package"
 | 
						|
          "check:Check consistency of packages"
 | 
						|
          "genpaths:Generate Paths_<pkg>.hs"
 | 
						|
          "search:Search available packages by package name"
 | 
						|
          "add:Add a source directory"
 | 
						|
          "test:Run tests"
 | 
						|
          "bench:Run benchmarks"
 | 
						|
          "doc:Generate manuals"
 | 
						|
          "ghci:Run GHCi (with a sandbox)"
 | 
						|
          "init:Initialize a sandbox"
 | 
						|
          "help:Display the help message of the command"
 | 
						|
        )
 | 
						|
        _describe -t subcommands 'cab subcommands' subcommands && ret=0
 | 
						|
    esac
 | 
						|
 | 
						|
    return ret
 | 
						|
}
 | 
						|
 | 
						|
command -v cab >/dev/null 2>&1 && { compdef _cab_commands cab }
 |