Browse Source

Add bash completion for ffoom

Alois Mahdal 10 years ago
parent
commit
581223cb72
2 changed files with 28 additions and 0 deletions
  1. 5
    0
      mkit/config.ini
  2. 23
    0
      src/complete.bash

+ 5
- 0
mkit/config.ini View File

@@ -9,6 +9,7 @@
9 9
 
10 10
     group = bin
11 11
     group = doc
12
+    group = etc_bc
12 13
     group = man
13 14
     group = share
14 15
 
@@ -31,6 +32,7 @@
31 32
     doc     = [ENV:PREFIX]/share/doc
32 33
     man     = [ENV:PREFIX]/share/man
33 34
     share   = [ENV:PREFIX]/share
35
+    etc_bc  = /etc/bash_completion.d
34 36
 
35 37
 [vars]
36 38
     __FFOO_DIR__ = [roots:share]/ffoo
@@ -47,6 +49,9 @@
47 49
     src/doc/examples/test_something.sh  = ffoo/examples/test_something.sh
48 50
     src/doc/ffoo.3.sh                   = ffoo/examples/ffoo.3.sh
49 51
 
52
+[files:etc_bc]
53
+    src/complete.bash                   = ffoo.bash
54
+
50 55
 [files:man]
51 56
     src/doc/ffrun.1                     = man1/ffrun.1
52 57
     src/doc/ffoo.3                      = man3/ffoo.3

+ 23
- 0
src/complete.bash View File

@@ -0,0 +1,23 @@
1
+
2
+__ffoom() {
3
+    local cur prev opts
4
+    COMPREPLY=()
5
+    cur="${COMP_WORDS[COMP_CWORD]}"
6
+    prev="${COMP_WORDS[COMP_CWORD-1]}"
7
+    opts="--help --debug --version --version-semver --include"
8
+    cmds="path lsfun lsmod catfun"
9
+
10
+    case "$cur" in
11
+        --*)
12
+            COMPREPLY=(
13
+                $(compgen -W "$opts" -- ${cur})
14
+            )
15
+            ;;
16
+        *)
17
+            COMPREPLY=(
18
+                $(compgen -W "$cmds" ${cur})
19
+            )
20
+    esac
21
+}
22
+
23
+complete -F __ffoom ffoom