summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Completion/Base/_value31
1 files changed, 31 insertions, 0 deletions
diff --git a/Completion/Base/_value b/Completion/Base/_value
new file mode 100644
index 000000000..e29c90e79
--- /dev/null
+++ b/Completion/Base/_value
@@ -0,0 +1,31 @@
+#compdef -value-
+
+_value () {
+ #_view_completion_parameters
+ if (( $+functions[_value:$compstate[parameter]] )); then
+ "_value:$compstate[parameter]" "$@"
+ else
+ _default
+ fi
+}
+
+_value:CPPFLAGS () {
+ compset -q
+ if compset -P '-I'; then
+ _files -/ "$@"
+ else
+ _default "$@"
+ fi
+}
+
+_value:LDFLAGS () {
+ compset -q
+ if compset -P '-L'; then
+ _files -/ "$@"
+ elif compset -P '-R'; then
+ compset -P '*:'
+ _files -/ -S/ -r ' :' "$@"
+ else
+ _default "$@"
+ fi
+}