From 62a45e9ec2d6ed8508700882671cc8db43505cc7 Mon Sep 17 00:00:00 2001 From: Bruno Pinto Date: Fri, 28 Aug 2015 17:08:40 +0100 Subject: [PATCH 1/2] Convert version and help into options Instead of clobbering the actions with both version and help, use options instead. They are also going to be used for subcommands (e.g. omf list --help) once they support options. --- pkg/omf/cli/omf.help.fish | 24 +++++++++++++----------- pkg/omf/cli/omf.install.fish | 2 +- pkg/omf/omf.fish | 4 ++-- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/pkg/omf/cli/omf.help.fish b/pkg/omf/cli/omf.help.fish index 8b01eaa..e061a52 100644 --- a/pkg/omf/cli/omf.help.fish +++ b/pkg/omf/cli/omf.help.fish @@ -4,17 +4,19 @@ function omf.help omf "(omf::em)"action"(omf::off)" [options] "(omf::dim)"Actions"(omf::off)" - "(omf::em)"l"(omf::off)"ist List local packages. - "(omf::em)"i"(omf::off)"nstall Install one or more packages. - "(omf::em)"t"(omf::off)"heme List / Use themes. - "(omf::em)"r"(omf::off)"emove Remove a theme or package. - "(omf::em)"u"(omf::off)"pdate Update Oh My Fish. - "(omf::em)"n"(omf::off)"ew Create a new package from a template. - "(omf::em)"s"(omf::off)"ubmit Submit a package to the registry. - "(omf::em)"q"(omf::off)"uery Query environment variables. - "(omf::em)"h"(omf::off)"elp Display this help. - "(omf::em)"v"(omf::off)"ersion Display version. - "(omf::em)"destroy"(omf::off)" Uninstall Oh My Fish. + "(omf::em)"l"(omf::off)"ist List local packages. + "(omf::em)"i"(omf::off)"nstall Install one or more packages. + "(omf::em)"t"(omf::off)"heme List / Use themes. + "(omf::em)"r"(omf::off)"emove Remove a theme or package. + "(omf::em)"u"(omf::off)"pdate Update Oh My Fish. + "(omf::em)"n"(omf::off)"ew Create a new package from a template. + "(omf::em)"s"(omf::off)"ubmit Submit a package to the registry. + "(omf::em)"q"(omf::off)"uery Query environment variables. + "(omf::em)"destroy"(omf::off)" Uninstall Oh My Fish. + + "(omf::dim)"Options"(omf::off)" + "(omf::em)"--h"(omf::off)"elp Display this help. + "(omf::em)"--v"(omf::off)"ersion Display version. For more information visit → "(omf::em)"git.io/oh-my-fish"(omf::off)\n end diff --git a/pkg/omf/cli/omf.install.fish b/pkg/omf/cli/omf.install.fish index 1a54cbe..d361c85 100644 --- a/pkg/omf/cli/omf.install.fish +++ b/pkg/omf/cli/omf.install.fish @@ -10,7 +10,7 @@ function omf.install -a type_flag name_or_url echo (omf::err)"Argument to omf.install must be --theme [name|URL] or --pkg [name|URL]"(omf::off) return $OMF_INVALID_ARG end - + if test -e $OMF_PATH/db/$parent_path/$name_or_url set target $parent_path/$name_or_url else diff --git a/pkg/omf/omf.fish b/pkg/omf/omf.fish index b0dc274..e71001c 100644 --- a/pkg/omf/omf.fish +++ b/pkg/omf/omf.fish @@ -39,7 +39,7 @@ function omf -d "Oh My Fish" end switch $argv[1] - case "v" "ver" "version" + case "-v*" "--v*" omf.version case "q" "query" @@ -54,7 +54,7 @@ function omf -d "Oh My Fish" return $OMF_INVALID_ARG end - case "h" "help" + case "-h*" "--h*" "help" omf.help case "l" "li" "lis" "lst" "list" From ecb9dfa0a9d992b24a9f03248037c304bde75674 Mon Sep 17 00:00:00 2001 From: Bruno Pinto Date: Fri, 28 Aug 2015 17:10:05 +0100 Subject: [PATCH 2/2] `omf cd` command for changing directories. Jump around Oh My Fish packages and themes using `omf cd `. If no is specified, jump to oh my fish root folder. --- pkg/omf/cli/omf.cd.fish | 25 +++++++++++++++++++++++++ pkg/omf/omf.fish | 12 ++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 pkg/omf/cli/omf.cd.fish diff --git a/pkg/omf/cli/omf.cd.fish b/pkg/omf/cli/omf.cd.fish new file mode 100644 index 0000000..d7f98f5 --- /dev/null +++ b/pkg/omf/cli/omf.cd.fish @@ -0,0 +1,25 @@ +# SYNOPSIS +# Change the current working directory to plugin / theme home directory. +# +# OPTIONS +# Name of the package or theme. + +function omf.cd -a name -d "Change the current working directory to plugin / theme home directory." + if test -z $name + pushd $OMF_PATH + return 0 + end + + if test -e $OMF_CONFIG/pkg/$name + pushd $OMF_CONFIG/pkg/$name + else if test -e $OMF_CONFIG/themes/$name + pushd $OMF_CONFIG/themes/$name + else if test -e $OMF_PATH/pkg/$name + pushd $OMF_PATH/pkg/$name + else if test -e $OMF_PATH/themes/$name + pushd $OMF_PATH/themes/$name + else + echo (omf::err)"$name is not a valid package/theme name"(omf::off) 1^&2 + return $OMF_INVALID_ARG + end +end diff --git a/pkg/omf/omf.fish b/pkg/omf/omf.fish index e71001c..6d0b464 100644 --- a/pkg/omf/omf.fish +++ b/pkg/omf/omf.fish @@ -57,6 +57,18 @@ function omf -d "Oh My Fish" case "-h*" "--h*" "help" omf.help + case "c" "cd" + switch (count $argv) + case 1 + omf.cd + case 2 + omf.cd $argv[2] + case "*" + echo (omf::err)"Invalid number of arguments"(omf::off) 1^&2 + echo "Usage: $_ "(omf::em)"$argv[1]"(omf::off)" " 1^&2 + return $OMF_INVALID_ARG + end + case "l" "li" "lis" "lst" "list" omf.list_local_packages | column