mirror of https://github.com/nirenjan/dotfiles.git
Move scripts to submodule
parent
1afa6ba95b
commit
9f75a8b596
|
@ -0,0 +1,3 @@
|
|||
[submodule "scripts"]
|
||||
path = scripts
|
||||
url = git@github.com:nirenjan/scripts
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 6e000ca76d644e455dba0ecb30b2053bbad8c1f1
|
|
@ -1,27 +0,0 @@
|
|||
#!/usr/bin/env perl
|
||||
# Script to apply git configuration to global gitconfig
|
||||
|
||||
my $section = 'unknown';
|
||||
my $variable;
|
||||
my $value;
|
||||
my $command;
|
||||
|
||||
while(<>) {
|
||||
chomp;
|
||||
if (m/^\[(\w+)\]$/) {
|
||||
$section = $1;
|
||||
#print "Section: $section\n";
|
||||
} elsif (m/^\[(\w+) +"(\w+)"\]/) {
|
||||
$section = "$1.$2";
|
||||
#print "Section: $section\n";
|
||||
} elsif (m/(\w+) += +(.+)$/) {
|
||||
$variable = $1;
|
||||
$value = $2;
|
||||
|
||||
$value =~ s/"/\\"/g;
|
||||
#print "\t$section.$variable = \"$value\"\n";
|
||||
$command = "git config --global $section.$variable \"$value\"";
|
||||
print "$command\n";
|
||||
system($command);
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [[ $# -gt 0 ]]
|
||||
then
|
||||
eval "$@"
|
||||
fi
|
||||
|
||||
echo -e "\007"
|
195
scripts/deploy
195
scripts/deploy
|
@ -1,195 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Script to copy files from a Git repository to a destination
|
||||
# Reads deployment instructions from a file and acts accordingly
|
||||
#
|
||||
# File Format
|
||||
# ===========
|
||||
#
|
||||
# Comments begin with a # character and terminate at the end of the line.
|
||||
#
|
||||
# The keyword 'repo' specifies the path to the repository. The repository must
|
||||
# be accessible locally without having to resort to ssh, https or git protocols.
|
||||
# Usage: repo <path to repo>
|
||||
#
|
||||
# The keyword 'target' specifies the location to which to deploy. If omitted, it
|
||||
# defaults to the current folder. Folders can be specified relative to the
|
||||
# current folder, relative to the home directory, or relative to the root, using
|
||||
# ./ or ../, ~/ and / as prefixes respectively. The parameter must be a valid
|
||||
# directory.
|
||||
# Usage: target <path to install to>
|
||||
#
|
||||
# The keyword 'file' specifies the file location relative to the root of the
|
||||
# Git repository, along with the version to install and an optional rename
|
||||
# argument which allows you to rename the destination file. If the version is
|
||||
# omitted, it defaults to HEAD. If the rename-to parameter is omitted, the
|
||||
# filename is the same as the name within the repository.
|
||||
# Usage: file <path to file within repo> [version [rename-to]]
|
||||
|
||||
# Default environment variables used
|
||||
DEPLOY_GIT=''
|
||||
DEPLOY_TGT=$(pwd)
|
||||
DEPLOY_SRC=''
|
||||
DEPLOY_LST=''
|
||||
DEPLOY_DEBUG=false
|
||||
|
||||
# Usage function will display the usage
|
||||
usage()
|
||||
{
|
||||
local deploy=$(basename $0)
|
||||
echo "Usage: $deploy <deploy-file1> <deploy-file2> ..."
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Die function will print the error message to stderr and abort the script
|
||||
die()
|
||||
{
|
||||
local exit_code=$1
|
||||
local deploy=$(basename $0)
|
||||
shift
|
||||
|
||||
for msg in "$@"
|
||||
do
|
||||
echo -e "$deploy: $msg" >&2
|
||||
done
|
||||
|
||||
if [[ $exit_code != 128 && $exit_code != 0 ]]
|
||||
then
|
||||
echo -e "\tError in file $DEPLOY_SRC line ${BASH_LINENO[1]}" >&2
|
||||
fi
|
||||
|
||||
exit $exit_code
|
||||
}
|
||||
|
||||
# Debug function will display all data, but only if debugs are enabled
|
||||
debug()
|
||||
{
|
||||
$DEPLOY_DEBUG && echo "$@"
|
||||
}
|
||||
|
||||
# Repo function checks if it is a valid Git repo and sets the DEPLOY_GIT
|
||||
repo()
|
||||
{
|
||||
if [[ $# != 1 ]]
|
||||
then
|
||||
die 4 "Invalid usage of repo command" "Usage: repo <path to Git repo>"
|
||||
fi
|
||||
|
||||
if [[ -d "$1" ]]
|
||||
then
|
||||
cd "$1"
|
||||
local gtl=$(git rev-parse --show-toplevel 2>/dev/null)
|
||||
|
||||
if [[ -z $gtl ]]
|
||||
then
|
||||
die 3 "Path $1 is not a valid Git repository!"
|
||||
else
|
||||
debug "Using repository $gtl"
|
||||
DEPLOY_GIT="$gtl"
|
||||
fi
|
||||
else
|
||||
die 1 "Path $1 does not exist!"
|
||||
fi
|
||||
}
|
||||
|
||||
# Target function checks if it is a valid directory and sets the DEPLOY_TGT
|
||||
target()
|
||||
{
|
||||
if [[ $# != 1 ]]
|
||||
then
|
||||
die 4 "Invalid usage of target command" "Usage: target <path>"
|
||||
fi
|
||||
|
||||
if [[ -d "$1" ]]
|
||||
then
|
||||
debug "Target folder $1"
|
||||
DEPLOY_TGT="$1"
|
||||
else
|
||||
die 1 "Path $1 does not exist!"
|
||||
fi
|
||||
}
|
||||
|
||||
# File command selects a file to deploy
|
||||
file()
|
||||
{
|
||||
if [[ $# == 0 || $# > 3 ]]
|
||||
then
|
||||
die 4 "Invalid usage of file command" \
|
||||
"Usage: file <path from root of repo> [<version> [<rename-to>] ]"
|
||||
fi
|
||||
|
||||
if [[ -z $DEPLOY_GIT ]]
|
||||
then
|
||||
die 2 "Must specify repo before file!"
|
||||
fi
|
||||
|
||||
if [[ -z $DEPLOY_TGT ]]
|
||||
then
|
||||
die 2 "Must specify target before file!"
|
||||
fi
|
||||
|
||||
local file=$1
|
||||
local ver=$2
|
||||
local rename=$3
|
||||
|
||||
debug "file $@"
|
||||
|
||||
# Sanity check on ver
|
||||
[[ -z $ver ]] && ver=HEAD
|
||||
|
||||
# Sanity check on rename
|
||||
[[ -z $rename ]] && rename=$(basename $file)
|
||||
|
||||
cd $DEPLOY_GIT
|
||||
|
||||
# Check to make sure that version is a sane version
|
||||
git rev-parse $ver &>/dev/null
|
||||
|
||||
if [[ $? != 0 ]]
|
||||
then
|
||||
die 3 "Version $ver does not exist in the repository $DEPLOY_GIT"
|
||||
fi
|
||||
|
||||
local vercheck=$(git rev-parse $ver 2>/dev/null)
|
||||
debug "Using version $vercheck"
|
||||
|
||||
# Check to make sure that the file is valid in the specified version
|
||||
git show $vercheck:$file &>/dev/null
|
||||
|
||||
if [[ $? != 0 ]]
|
||||
then
|
||||
die 3 "File $file does not exist in version $ver of the repo $DEPLOY_GIT"
|
||||
else
|
||||
debug "Using file $file"
|
||||
# Build the commands to extract the file and set the
|
||||
# executable permissions bit in the deployed file.
|
||||
local cmd="cd $DEPLOY_GIT"
|
||||
cmd="$cmd; git show $vercheck:$file > $DEPLOY_TGT/$rename"
|
||||
cmd="$cmd; chmod +x $DEPLOY_TGT/$rename;"
|
||||
DEPLOY_LST="$DEPLOY_LST $cmd"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
if [[ $# == 0 ]]
|
||||
then
|
||||
usage
|
||||
else
|
||||
for i in "$@"
|
||||
do
|
||||
if [[ -f $i && -r $i ]]
|
||||
then
|
||||
DEPLOY_SRC=$i
|
||||
source $i
|
||||
else
|
||||
die 128 "Deploy file $i does not exist or is not readable!"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ ! -z $DEPLOY_LST ]]
|
||||
then
|
||||
eval $DEPLOY_LST
|
||||
else
|
||||
die 0 "No files to deploy!"
|
||||
fi
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
#!/usr/bin/perl
|
||||
# A utility script to test out dircolors settings without reloading
|
||||
# Usage: dircolortest <dircolors file>
|
||||
|
||||
if ($#ARGV < 0) {
|
||||
die "Usage: $0 <dircolors file>\n";
|
||||
}
|
||||
|
||||
if ($#ARGV > 0) {
|
||||
warn "Ignoring additional command line arguments\n";
|
||||
}
|
||||
|
||||
# Open the file and get the handle
|
||||
open DCFILE, $ARGV[0] or
|
||||
die "Cannot open dircolors file $ARGV[0]! $!\n";
|
||||
|
||||
$line_counter = 0;
|
||||
|
||||
while ($line = <DCFILE>) {
|
||||
chomp $line;
|
||||
|
||||
# Strip off any comments
|
||||
$line =~ s/#.*$//;
|
||||
|
||||
# Strip off leading and trailing whitespace
|
||||
$line =~ s/^\s*//;
|
||||
$line =~ s/\s*$//;
|
||||
|
||||
if ($line ne '') {
|
||||
($type, $format) = split /\s+/, $line;
|
||||
|
||||
# Ignore the following lines, we don't care about them here
|
||||
next if (($type eq 'TERM') || ($type eq 'COLOR') ||
|
||||
($type eq 'OPTIONS') || ($type eq 'EIGHTBIT'));
|
||||
|
||||
# Just a little enhancement, if the type begins with a .
|
||||
if ($type =~ m/^\./) {
|
||||
$type = "*$type";
|
||||
}
|
||||
|
||||
print "\033[${format}m$type\033[m";
|
||||
|
||||
$line_counter = $line_counter + 1;
|
||||
|
||||
if ($line_counter == 8) {
|
||||
print "\n";
|
||||
$line_counter = 0;
|
||||
} else {
|
||||
print "\t";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print "\n" if ($line_counter != 0);
|
||||
|
||||
close DCFILE;
|
|
@ -1,28 +0,0 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Support script to find the commit from which the given branch was spawned.
|
||||
# Takes one or two arguments, the first argument is mandatory and specifies
|
||||
# the child branch while the second argument is optional and specifies the
|
||||
# parent branch. If omitted, the parent branch defaults to 'master'
|
||||
|
||||
CHILD=$1
|
||||
PARENT=$2
|
||||
|
||||
USAGE="Usage: $0 <child branch> <parent branch>"
|
||||
|
||||
if [ "$CHILD" == "" ]
|
||||
then
|
||||
echo $USAGE
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "$PARENT" == "" ]
|
||||
then
|
||||
PARENT="master"
|
||||
fi
|
||||
|
||||
PCOMMIT=`diff -u <(git rev-list --first-parent $CHILD) \
|
||||
<(git rev-list --first-parent $PARENT) | sed -ne 's/^ //p' | head -1`
|
||||
|
||||
git show --pretty="%H %an | %s" $PCOMMIT | head -1
|
||||
|
52
scripts/mlog
52
scripts/mlog
|
@ -1,52 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Monthly logging script
|
||||
# Call mlog and it will update a log file
|
||||
|
||||
# Set the default mlog folder
|
||||
[[ -z $MLOG_FOLDER ]] && MLOG_FOLDER="$HOME/mlog"
|
||||
|
||||
# Make sure that the folder exists
|
||||
[[ ! -d $MLOG_FOLDER ]] && mkdir -pv $MLOG_FOLDER
|
||||
|
||||
# Make sure that we have a valid TMPDIR
|
||||
[[ -z $TMPDIR ]] && TMPDIR='/tmp'
|
||||
|
||||
# Make sure that we have a valid EDITOR
|
||||
[[ -z $EDITOR ]] && EDITOR=vim
|
||||
|
||||
MLOG_HDR=''
|
||||
MLOG_TS="[$(date)]"
|
||||
MLOG_LOG="$MLOG_FOLDER/$(date +%Y-%m)"
|
||||
MLOG_FILE="$TMPDIR/mlog-tmp-$$"
|
||||
|
||||
if [[ -x $HOME/bin/stardate ]]
|
||||
then
|
||||
[[ -z $MLOG_RANK ]] && MLOG_RANK='Chief Engineer'
|
||||
|
||||
MLOG_HDR=`echo "$MLOG_RANK's log, Stardate $($HOME/bin/stardate)" | sed 's/.$//'`
|
||||
|
||||
if [[ -e $MLOG_LOG ]]
|
||||
then
|
||||
MLOG_LAST=$(grep Stardate $MLOG_LOG | tail -1)
|
||||
|
||||
if [[ "$MLOG_LAST" == "$MLOG_HDR" ]]
|
||||
then
|
||||
MLOG_HDR="$MLOG_RANK's log, supplemental"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
$EDITOR $MLOG_FILE
|
||||
|
||||
[[ ! -s $MLOG_FILE ]] && rm -f $MLOG_FILE && exit 0
|
||||
|
||||
|
||||
echo "$MLOG_HDR" >> $MLOG_LOG
|
||||
echo "$MLOG_TS" >> $MLOG_LOG
|
||||
echo >> $MLOG_LOG # Empty line
|
||||
cat $MLOG_FILE >> $MLOG_LOG
|
||||
echo -en "\n----------------------------------------" >> $MLOG_LOG
|
||||
echo -e "----------------------------------------\n" >> $MLOG_LOG
|
||||
|
||||
rm -f $MLOG_FILE
|
||||
|
330
scripts/note
330
scripts/note
|
@ -1,330 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Notes manager for the command line
|
||||
|
||||
NOTES_VER="0.1a"
|
||||
NOTES_DIR="$HOME/.notes"
|
||||
|
||||
# Initialize with the default editor
|
||||
[ -z "$EDITOR" ] && EDITOR="/usr/bin/vim"
|
||||
|
||||
dprint() {
|
||||
if [ ! -z $NOTES_DEBUG ]; then
|
||||
echo $*
|
||||
fi
|
||||
}
|
||||
|
||||
notes_init() {
|
||||
# Check if the notes folder exists, if not, create it
|
||||
if [ ! -d $NOTES_DIR ]
|
||||
then
|
||||
echo -n "Creating notes folder..."
|
||||
mkdir -p $NOTES_DIR
|
||||
cd $NOTES_DIR
|
||||
echo "done."
|
||||
|
||||
git init .
|
||||
else
|
||||
echo "Notes has already been initialized."
|
||||
fi
|
||||
}
|
||||
|
||||
make_title() {
|
||||
echo "$*" | sed 's/[^A-Za-z0-9_]\+/-/g' | \
|
||||
sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
|
||||
}
|
||||
|
||||
title_to_name() {
|
||||
note_file=$NOTES_DIR/$(make_title $note_arg)
|
||||
}
|
||||
|
||||
check_arg() {
|
||||
if [ -z "$note_arg" ]
|
||||
then
|
||||
echo "Must specify a note title!"
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
note_exists() {
|
||||
[[ -f "$note_file" ]]
|
||||
}
|
||||
|
||||
check_md5() {
|
||||
if [[ "$note_old_md5" == "$note_new_md5" ]]
|
||||
then
|
||||
echo "No changes to '$note_arg'"
|
||||
|
||||
if [[ ! -z "$1" ]]
|
||||
then
|
||||
rm -f $1
|
||||
fi
|
||||
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
check_empty() {
|
||||
if [[ ! -s "$note_file" ]]
|
||||
then
|
||||
if [[ "$1" == "restore" ]]
|
||||
then
|
||||
cd "$NOTES_DIR"
|
||||
gitfile=$(basename "$note_file")
|
||||
git checkout $gitfile
|
||||
echo "Restored empty note '$note_arg'"
|
||||
elif [[ "$1" == "delete" ]]
|
||||
then
|
||||
rm -f $note_file
|
||||
echo "Deleted empty note '$note_arg'"
|
||||
fi
|
||||
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
check_dir() {
|
||||
if [[ ! -d "$NOTES_DIR" ]]
|
||||
then
|
||||
echo "Notes not initialized. Run init first!"
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
md5_sum() {
|
||||
openssl dgst -md5 $*
|
||||
}
|
||||
|
||||
help_cmd() {
|
||||
echo '
|
||||
Notes Manager for the Command Line
|
||||
==================================
|
||||
|
||||
This is a bash script that lets you take notes which are maintained in a
|
||||
Git repository. You can run this script by typing the following command
|
||||
at the command line:
|
||||
|
||||
Usage: note <command> <arguments>
|
||||
|
||||
Commands
|
||||
--------
|
||||
You can use the first letter of each command as a shortcut key.
|
||||
|
||||
Command Usage
|
||||
------- -----
|
||||
new Follow this with the note name to create a new note
|
||||
edit Follow this with the note name to edit an existing note
|
||||
show Follow this with the note name to display an existing note
|
||||
delete Follow this with the note name to delete a note
|
||||
find Prints the list of available notes
|
||||
log Displays the note history
|
||||
grep Finds all notes with the specified keyword in the text
|
||||
init Run this the very first time to set up the folders
|
||||
help Prints this help message
|
||||
version Prints the version information
|
||||
'
|
||||
}
|
||||
|
||||
version_info() {
|
||||
echo "Notes Manager version $NOTES_VER"
|
||||
}
|
||||
|
||||
note_new() {
|
||||
check_dir
|
||||
check_arg
|
||||
title_to_name
|
||||
|
||||
if note_exists
|
||||
then
|
||||
echo "Note '$note_arg' already exists! Use edit instead."
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "$note_arg" > $note_file
|
||||
note_old_md5=$(md5_sum $note_file)
|
||||
|
||||
$EDITOR $note_file
|
||||
|
||||
note_new_title=$(head -1 $note_file)
|
||||
note_new_md5=$(md5_sum $note_file)
|
||||
note_new_file=$NOTES_DIR/$(make_title $note_new_title)
|
||||
check_md5 $note_file
|
||||
check_empty delete
|
||||
|
||||
dprint "Original filename = " $note_file
|
||||
dprint "New filename = " $note_new_file
|
||||
|
||||
# Check for a title rename
|
||||
if [[ "$note_file" != "$note_new_file" ]]
|
||||
then
|
||||
mv -f $note_file $note_new_file
|
||||
fi
|
||||
|
||||
cd $NOTES_DIR
|
||||
gitfile=$(basename $note_new_file)
|
||||
|
||||
git add $gitfile
|
||||
git commit -m "Create note '$note_new_title'"
|
||||
echo "Created note '$note_new_title'"
|
||||
}
|
||||
|
||||
note_edit() {
|
||||
check_dir
|
||||
check_arg
|
||||
title_to_name
|
||||
if ! note_exists
|
||||
then
|
||||
echo "Cannot find note '$note_arg'!"
|
||||
exit
|
||||
fi
|
||||
|
||||
note_old_title=$(head -1 $note_file)
|
||||
note_old_md5=$(md5_sum $note_file)
|
||||
|
||||
$EDITOR $note_file
|
||||
|
||||
note_new_title=$(head -1 $note_file)
|
||||
note_new_md5=$(md5_sum $note_file)
|
||||
|
||||
check_md5
|
||||
check_empty restore
|
||||
|
||||
cd $NOTES_DIR
|
||||
gitfile=$(basename $note_file)
|
||||
commit_msg="Update note '$note_new_title'"
|
||||
if [[ "$note_old_title" != "$note_new_title" ]]
|
||||
then
|
||||
note_new_file=$(make_title $note_new_title)
|
||||
|
||||
git mv $gitfile $note_new_file
|
||||
git add $note_new_file
|
||||
commit_msg="$commit_msg. Rename from '$note_old_title'"
|
||||
else
|
||||
git add $gitfile
|
||||
fi
|
||||
|
||||
git commit -m "$commit_msg"
|
||||
echo "Updated note '$note_new_title'"
|
||||
}
|
||||
|
||||
note_show() {
|
||||
check_dir
|
||||
check_arg
|
||||
title_to_name
|
||||
if ! note_exists
|
||||
then
|
||||
echo "Cannot find note '$note_arg'!"
|
||||
exit
|
||||
fi
|
||||
|
||||
less -R $note_file
|
||||
}
|
||||
|
||||
note_delete() {
|
||||
check_dir
|
||||
check_arg
|
||||
title_to_name
|
||||
if ! note_exists
|
||||
then
|
||||
echo "Cannot find note '$note_arg'!"
|
||||
exit
|
||||
fi
|
||||
|
||||
cd $NOTES_DIR
|
||||
gitfile=$(basename $note_file)
|
||||
git rm $gitfile
|
||||
git commit -m "Delete note '$note_arg'"
|
||||
echo "Deleted note '$note_arg'"
|
||||
}
|
||||
|
||||
note_history() {
|
||||
check_dir
|
||||
cd $NOTES_DIR
|
||||
git log --pretty=format:'%ai - %s' -- $note_arg
|
||||
}
|
||||
|
||||
note_list() {
|
||||
check_dir
|
||||
cd $NOTES_DIR
|
||||
if [[ -z "$1" ]]
|
||||
then
|
||||
ls -1
|
||||
else
|
||||
ls -1 | grep -i $1
|
||||
fi
|
||||
}
|
||||
|
||||
note_search() {
|
||||
check_dir
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
echo "Must specify a pattern to search titles!"
|
||||
exit
|
||||
fi
|
||||
|
||||
cd $NOTES_DIR
|
||||
for file in *
|
||||
do
|
||||
grep --color=always -il "$1" $file
|
||||
grep --color=always -inhT -m2 -C1 "$1" $file
|
||||
done
|
||||
}
|
||||
|
||||
parse_args() {
|
||||
note_cmd=$1
|
||||
shift
|
||||
note_arg="$*"
|
||||
|
||||
case "$note_cmd" in
|
||||
"h" | "help")
|
||||
help_cmd
|
||||
;;
|
||||
|
||||
"n" | "new")
|
||||
note_new
|
||||
;;
|
||||
|
||||
"e" | "edit")
|
||||
note_edit
|
||||
;;
|
||||
|
||||
"s" | "show")
|
||||
note_show
|
||||
;;
|
||||
|
||||
"d" | "delete")
|
||||
note_delete
|
||||
;;
|
||||
|
||||
"l" | "log")
|
||||
note_history
|
||||
;;
|
||||
|
||||
"i" | "init")
|
||||
notes_init
|
||||
;;
|
||||
|
||||
"f" | "find")
|
||||
note_list $1
|
||||
;;
|
||||
|
||||
"g" | "grep")
|
||||
note_search $1
|
||||
;;
|
||||
|
||||
"v" | "version")
|
||||
version_info
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unrecognized command '$note_cmd'. Use help."
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
if [[ $# -lt 1 ]]
|
||||
then
|
||||
echo "Usage: note <command> <arguments>"
|
||||
echo "Type 'note help' for detailed help"
|
||||
else
|
||||
parse_args $*
|
||||
fi
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Set the Xterm/Tmux pane title
|
||||
|
||||
if [[ -z $TMUX ]]
|
||||
then
|
||||
echo -e "\033]0;$*\007"
|
||||
else
|
||||
echo -e "\033k$*\033\\"
|
||||
fi
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
#!/usr/bin/env ruby
|
||||
# -*- ruby -*-
|
||||
# Script to smartly chop off portions of the current working directory for
|
||||
# use in the shell prompt
|
||||
|
||||
# Some of the methods don't work with Ruby versions older than 1.8.7
|
||||
min_release = "1.8.7 (2008-08-11)"
|
||||
ruby_release = "#{RUBY_VERSION} (#{RUBY_RELEASE_DATE})"
|
||||
|
||||
# Constants used to decide when to start chopping
|
||||
DIRLIM = 5
|
||||
DIR_L = 3
|
||||
DIR_R = 2
|
||||
PWDLEN = 14
|
||||
|
||||
def backslash_w
|
||||
homedir = ENV['HOME']
|
||||
pwd = ENV['PWD']
|
||||
print pwd.gsub(homedir, '~')
|
||||
end
|
||||
|
||||
def smartwd
|
||||
username = ENV['USER']
|
||||
homedir = ENV['HOME']
|
||||
pwd = ENV['PWD']
|
||||
|
||||
path = pwd.split('/')
|
||||
|
||||
# Ignore the root path
|
||||
if (path.length > 0)
|
||||
index = path.index(username)
|
||||
if index
|
||||
prefix = path.shift(index + 1)
|
||||
|
||||
# We need to map additional paths in environments where the user
|
||||
# may have more than one available folder in his/her name.
|
||||
if prefix.join('/') == homedir
|
||||
path.unshift('~')
|
||||
else
|
||||
# The first entry in the prefix array is the empty string
|
||||
pre = prefix[1].split('').shift(4).join('') + '~'
|
||||
path.unshift(pre)
|
||||
end
|
||||
else
|
||||
# Replace the first two entries in the array with /<entry1>
|
||||
# (because the first entry is always empty string)
|
||||
prefix = path.shift(2).join('/')
|
||||
path.unshift(prefix)
|
||||
end
|
||||
|
||||
# Check to make sure that both the DIRLIM and PWDLEN constraints
|
||||
# are met before splitting
|
||||
pwd = path.join('/')
|
||||
if path.length > DIRLIM and pwd.length > PWDLEN
|
||||
pwd_l = path.shift(DIR_L).join('/')
|
||||
pwd_r = path.pop(DIR_R).join('/')
|
||||
pwd = pwd_l + '/.../' + pwd_r
|
||||
end
|
||||
end
|
||||
|
||||
print pwd
|
||||
end
|
||||
|
||||
if (ruby_release < min_release)
|
||||
backslash_w
|
||||
else
|
||||
smartwd
|
||||
end
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
""" Calculate the Julian Date """
|
||||
|
||||
import time
|
||||
import math
|
||||
|
||||
t = time.time()
|
||||
|
||||
""" Technically, we should be adding 2440587.5,
|
||||
however, since we are trying to stick to the stardate
|
||||
concept, we add only 40587.5"""
|
||||
jd = (t / 86400.0 + 40587.5)
|
||||
|
||||
# Use the idea that 1 Julian day is equal to 1 stardate
|
||||
print ("%05.9f" % jd)[:-7]
|
||||
|
Loading…
Reference in New Issue