addition of completion for ssh-add and addition of easier to recognize grep functions...
authorpatrick nsukami <ndkpatt@gmail.com>
Fri, 5 Dec 2014 19:42:52 +0000 (19:42 +0000)
committerpatrick nsukami <ndkpatt@gmail.com>
Fri, 5 Dec 2014 19:42:52 +0000 (19:42 +0000)
.bash_compl
.bash_function

index 775fcc8..02c4ea5 100644 (file)
@@ -1,12 +1,31 @@
 #!/bin/sh
 
+# COMPREPLY: an array containing possible completions as a result of your function
+# COMP_WORDS: an array containing individual command arguments typed so far
+# COMP_CWORD: the index of the command argument containing the current cursor position
+# COMP_LINE: the current command line
+
+# if you want the current argument that you are trying to complete, you would index into the words array
+# using: ${COMP_WORDS[COMP_CWORD]}.
+
+
 # to complete jump
 _completemarks() {
   local curw=${COMP_WORDS[COMP_CWORD]}
   local wordlist=$(find $MARKPATH -type l -printf "%f\n")
-  COMPREPLY=($(compgen -W '${wordlist[@]}' -- "$curw"))
+  COMPREPLY=($(compgen -W '${wordlist[@]}' -- $curw))
   return 0
 }
 
 # complete jump & unmark commands with result of _completemarks
 complete -F _completemarks jump unmark
+
+# to complete ssh-add with exisiting priv keys
+_complete_ssh_add () {
+    local curw=${COMP_WORDS[COMP_CWORD]}
+    local sshkeys=$(find $HOME/.ssh  -type f -printf "%f\n" | grep 'id_' | grep -v '.pub$');
+    COMPREPLY=($(compgen -W '${sshkeys[@]}' -- $curw))
+    return 0
+}
+
+complete -F _complete_ssh_add ssh-add
index 50d5aa4..1da9700 100644 (file)
@@ -1,6 +1,27 @@
 #!/bin/sh
 # my weird function file
 
+not_end_by () {
+    local by=$1;
+    # grep -v: inverse match
+    grep -v $by"$"
+}
+
+end_by () {
+    local by=$1;
+    grep $by"$"
+}
+
+begin_by () {
+    local by=$1;
+    grep "^"$by;
+}
+
+not_begin_by () {
+    local by=$1;
+    grep -v "^"$by
+}
+
 my_venv_list(){
     ls $HOME"/envs"
 }