Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Unified Diff: tools/cr/cr.sh

Issue 71483003: [cr tool] Adding the main function and remaining pieces. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cr_commands
Patch Set: Chrome makes all shell scripts executable, even ones that should not be... Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/cr/cr/auto/user/__init__.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/cr/cr.sh
diff --git a/tools/cr/cr.sh b/tools/cr/cr.sh
new file mode 100644
index 0000000000000000000000000000000000000000..233fe86b227896b72adab8ad95eddaa221f56932
--- /dev/null
+++ b/tools/cr/cr.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+# Copyright (c) 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Source this file into your shell to gain the cr function and tab completion
+# for it
+
+# Make sure we're being sourced (possibly by another script). Check for bash
+# since zsh sets $0 when sourcing.
+if [[ -n "$BASH_VERSION" && "${BASH_SOURCE:-$0}" == "$0" ]]; then
+ echo "ERROR: cr.sh must be sourced."
+ exit 1
+fi
+
+
+cr_base_dir=$(dirname $(realpath "${BASH_SOURCE:-$0}"))
+cr_main="${cr_base_dir}/main.py"
+cr_exec="PYTHONDONTWRITEBYTECODE=1 python ${cr_main}"
+
+# The main entry point to the cr tool.
+# Invokes the python script with pyc files turned off.
+function cr() {
+ env $cr_exec "$@"
+}
+
+# Attempts to cd to the root/src of the current client.
+function crcd() {
+ cd $(cr info -s CR_SRC)
+}
+
+# Add to your PS1 to have the current selected output directory in your prompt
+function _cr_ps1() {
+ cr info -s CR_OUT_FULL
+}
+
+# The tab completion handler, delegates into the python script.
+function _cr_complete() {
+ COMPREPLY=()
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ local main="python -B "${cr_main}")"
+ local completions="$(env COMP_CWORD=${COMP_CWORD} COMP_WORD=${cur} $cr_exec)"
+ COMPREPLY=( $(compgen -W "${completions}" -- ${cur}) )
+}
+
+# Setup the bash auto complete
+complete -F _cr_complete cr
« no previous file with comments | « no previous file | tools/cr/cr/auto/user/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698