Index: tools/auto-complete.md
===================================================================
--- tools/auto-complete.md	(revision 73530d97ea6d30fa28964adee59eaccf93f77a8e)
+++ tools/auto-complete.md	(revision 73530d97ea6d30fa28964adee59eaccf93f77a8e)
@@ -0,0 +1,33 @@
+Shell Auto Completion
+=====================
+
+tests/test.py
+-------------
+
+### Bash
+
+Short version: copy this into your .profile file:
+
+    _cfa_test() (
+        (case $3 in
+        (--continue|--debug|--install|--timout-with-gdb)
+            echo yes no;;
+        (--arch)
+            echo x86 x64;;
+        (-I|--include|-E|--exclude)
+            $1 --list-comp | tr ' ' '\n' | sed -e 's@/[^/]\+$@/@;t;d';;
+        (*)
+            $1 --list-comp;;
+        esac) | grep -Ewoe "$2[^[:space:]]*"
+    )
+    complete -C _cfa_test tests/test.py
+
+The long version includes reading the bash manual, check for the complete
+built-in and readline programmable completion for details on how these
+commands are used. You can copy-paste the results directily into your
+terminal to test them or put them in one of the initalization files so they
+are loaded at start-up.
+
+This particular script does not handle the comma seperated options.
+
+### Zsh
Index: tools/cfa.nanorc
===================================================================
--- tools/cfa.nanorc	(revision 5137f9f924553183ad0d9532c6f3174d98080b2e)
+++ tools/cfa.nanorc	(revision 73530d97ea6d30fa28964adee59eaccf93f77a8e)
@@ -37,5 +37,5 @@
 ## Update/Redistribute
 # GCC builtins
-color cyan "__attribute__[[:space:]]*\(\([^()]*(\([^()]*\)[^()]*)*\)\)"
+color cyan "__attribute__[[:space:]]*\(\(([^)]|[^)]\))*\)\)"
 ##color cyan "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__"
 
