Преглед изворни кода

Add bash completion module

Alois Mahdal пре 9 година
родитељ
комит
8aa0b33a9e
2 измењених фајлова са 27 додато и 0 уклоњено
  1. 5
    0
      mkit/config.ini
  2. 22
    0
      src/complete.bash

+ 5
- 0
mkit/config.ini Прегледај датотеку

@@ -8,6 +8,7 @@
8 8
 [lists]
9 9
 
10 10
     group = bin
11
+    group = etc_bc
11 12
     group = libexec
12 13
     group = share
13 14
 
@@ -28,6 +29,7 @@
28 29
     libexec = [ENV:PREFIX]/libexec/saturnin
29 30
     share   = [ENV:PREFIX]/share/saturnin
30 31
     etc     = /etc/saturnin
32
+    etc_bc  = /etc/bash_completion.d
31 33
 
32 34
 [vars]
33 35
     __SATURNIN_CACHE_HOME__     = $HOME/.local/share/saturnin
@@ -40,6 +42,9 @@
40 42
 [files:bin]
41 43
     src/bin/saturnin                        = saturnin
42 44
 
45
+[files:etc_bc]
46
+    src/complete.bash                       = saturnin.bash
47
+
43 48
 [files:libexec]
44 49
     src/libexec/saturnin-au                 = saturnin-au
45 50
     src/libexec/saturnin-clip               = saturnin-clip

+ 22
- 0
src/complete.bash Прегледај датотеку

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