--- calibre-2.80.completion	2017-05-27 22:42:40.522231591 -0400
+++ calibre-2.85.completion	2017-05-27 22:43:13.222414176 -0400
@@ -10,7 +10,7 @@
 
     case "${prev}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -18,7 +18,7 @@
 
     case "${cur}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -27,7 +27,7 @@
          return 0
          ;;
       *  )
-        _filedir '@(lrf|rar|zip|rtf|lit|txt|txtz|text|htm|xhtm|html|htmlz|xhtml|pdf|pdb|updb|pdr|prc|mobi|azw|doc|epub|fb2|djv|djvu|lrx|cbr|cbz|cbc|oebzip|rb|imp|odt|chm|tpz|azw1|pml|pmlz|mbp|tan|snb|xps|oxps|azw4|book|zbf|pobi|docx|docm|md|textile|markdown|ibook|ibooks|iba|azw3|ps|kepub|kfx|LRF|RAR|ZIP|RTF|LIT|TXT|TXTZ|TEXT|HTM|XHTM|HTML|HTMLZ|XHTML|PDF|PDB|UPDB|PDR|PRC|MOBI|AZW|DOC|EPUB|FB2|DJV|DJVU|LRX|CBR|CBZ|CBC|OEBZIP|RB|IMP|ODT|CHM|TPZ|AZW1|PML|PMLZ|MBP|TAN|SNB|XPS|OXPS|AZW4|BOOK|ZBF|POBI|DOCX|DOCM|MD|TEXTILE|MARKDOWN|IBOOK|IBOOKS|IBA|AZW3|PS|KEPUB|KFX)'
+        _filedir '@(['1', '1', '2', '2', '3', '3', '4', '4', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'E', 'E', 'E', 'E', 'E', 'E', 'F', 'F', 'F', 'F', 'F', 'F', 'H', 'H', 'H', 'H', 'H', 'H', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'J', 'J', 'K', 'K', 'K', 'K', 'K', 'K', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'N', 'N', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'S', 'S', 'S', 'S', 'S', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'U', 'U', 'U', 'U', 'V', 'V', 'W', 'W', 'W', 'W', 'W', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'e', 'e', 'e', 'e', 'e', 'e', 'f', 'f', 'f', 'f', 'f', 'f', 'h', 'h', 'h', 'h', 'h', 'h', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'j', 'j', 'k', 'k', 'k', 'k', 'k', 'k', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'n', 'n', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 's', 's', 's', 's', 's', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 'u', 'u', 'u', 'u', 'v', 'v', 'w', 'w', 'w', 'w', 'w', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|'])'
         return 0
         ;;
     esac
@@ -46,7 +46,7 @@
 
     case "${prev}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -54,7 +54,7 @@
 
     case "${cur}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -63,7 +63,7 @@
          return 0
          ;;
       *  )
-        _filedir '@(lrf|LRF)'
+        _filedir '@(['F', 'L', 'R', 'f', 'l', 'r', '|'])'
         return 0
         ;;
     esac
@@ -82,22 +82,22 @@
 
     case "${prev}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
       -c )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
       --to-opf )
-           _filedir '@(opf)'
+           _filedir ["'", "'", '(', ')', '@', 'f', 'o', 'p']
            return 0
          ;;
     
       --from-opf )
-           _filedir '@(opf)'
+           _filedir ["'", "'", '(', ')', '@', 'f', 'o', 'p']
            return 0
          ;;
     
@@ -105,22 +105,22 @@
 
     case "${cur}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
       -c )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
       --to-opf )
-           _filedir '@(opf)'
+           _filedir ["'", "'", '(', ')', '@', 'f', 'o', 'p']
            return 0
          ;;
     
       --from-opf )
-           _filedir '@(opf)'
+           _filedir ["'", "'", '(', ')', '@', 'f', 'o', 'p']
            return 0
          ;;
     
@@ -129,7 +129,7 @@
          return 0
          ;;
       *  )
-        _filedir '@(rtf|prc|fb2|odt|cbr|cbz|rar|pml|snb|htmlz|txt|updb|zip|oebzip|chm|lit|imp|html|rb|azw1|docx|azw3|azw4|txtz|lrf|opf|pdb|lrx|epub|mobi|pmlz|pobi|pdf|tpz|azw|RTF|PRC|FB2|ODT|CBR|CBZ|RAR|PML|SNB|HTMLZ|TXT|UPDB|ZIP|OEBZIP|CHM|LIT|IMP|HTML|RB|AZW1|DOCX|AZW3|AZW4|TXTZ|LRF|OPF|PDB|LRX|EPUB|MOBI|PMLZ|POBI|PDF|TPZ|AZW)'
+        _filedir '@(['1', '1', '2', '2', '3', '3', '4', '4', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'D', 'D', 'D', 'D', 'D', 'E', 'E', 'F', 'F', 'F', 'F', 'F', 'H', 'H', 'H', 'I', 'I', 'I', 'I', 'I', 'I', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'S', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'U', 'U', 'W', 'W', 'W', 'W', 'X', 'X', 'X', 'X', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd', 'd', 'e', 'e', 'f', 'f', 'f', 'f', 'f', 'h', 'h', 'h', 'i', 'i', 'i', 'i', 'i', 'i', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 's', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 'u', 'u', 'w', 'w', 'w', 'w', 'x', 'x', 'x', 'x', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|'])'
         return 0
         ;;
     esac
@@ -148,22 +148,22 @@
 
     case "${prev}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
       -c )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
       --opf )
-           _filedir '@(opf)'
+           _filedir ["'", "'", '(', ')', '@', 'f', 'o', 'p']
            return 0
          ;;
     
       -o )
-           _filedir '@(opf)'
+           _filedir ["'", "'", '(', ')', '@', 'f', 'o', 'p']
            return 0
          ;;
     
@@ -171,22 +171,22 @@
 
     case "${cur}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
       -c )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
       --opf )
-           _filedir '@(opf)'
+           _filedir ["'", "'", '(', ')', '@', 'f', 'o', 'p']
            return 0
          ;;
     
       -o )
-           _filedir '@(opf)'
+           _filedir ["'", "'", '(', ')', '@', 'f', 'o', 'p']
            return 0
          ;;
     
@@ -195,7 +195,7 @@
          return 0
          ;;
       *  )
-        _filedir '@(azw3|epub|AZW3|EPUB)'
+        _filedir '@([u'3', u'3', u'A', u'B', u'E', u'P', u'U', u'W', u'Z', u'a', u'b', u'e', u'p', u'u', u'w', u'z', u'|', u'|', u'|'])'
         return 0
         ;;
     esac
@@ -214,7 +214,7 @@
 
     case "${prev}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -222,7 +222,7 @@
 
     case "${cur}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -231,7 +231,7 @@
          return 0
          ;;
       *  )
-        _filedir '@(lrf|LRF)'
+        _filedir '@(['F', 'L', 'R', 'f', 'l', 'r', '|'])'
         return 0
         ;;
     esac
@@ -250,7 +250,7 @@
 
     case "${prev}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -258,7 +258,7 @@
 
     case "${cur}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -267,7 +267,7 @@
          return 0
          ;;
       *  )
-        _filedir '@(azw|azw3|azw4|cbc|cbr|cbz|chm|djv|djvu|docm|docx|downloaded_recipe|epub|fb2|htm|html|htmlz|lit|lrf|markdown|md|mobi|odt|opf|pdb|pdf|pml|pmlz|pobi|prc|rb|recipe|rtf|shtm|shtml|snb|tcr|text|textile|txt|txtz|updb|xhtm|xhtml|AZW|AZW3|AZW4|CBC|CBR|CBZ|CHM|DJV|DJVU|DOCM|DOCX|DOWNLOADED_RECIPE|EPUB|FB2|HTM|HTML|HTMLZ|LIT|LRF|MARKDOWN|MD|MOBI|ODT|OPF|PDB|PDF|PML|PMLZ|POBI|PRC|RB|RECIPE|RTF|SHTM|SHTML|SNB|TCR|TEXT|TEXTILE|TXT|TXTZ|UPDB|XHTM|XHTML)'
+        _filedir '@([u'2', u'2', u'3', u'3', u'4', u'4', u'A', u'A', u'A', u'A', u'A', u'B', u'B', u'B', u'B', u'B', u'B', u'B', u'B', u'B', u'B', u'B', u'C', u'C', u'C', u'C', u'C', u'C', u'C', u'C', u'C', u'C', u'C', u'D', u'D', u'D', u'D', u'D', u'D', u'D', u'D', u'D', u'D', u'D', u'D', u'D', u'E', u'E', u'E', u'E', u'E', u'E', u'E', u'E', u'E', u'F', u'F', u'F', u'F', u'F', u'H', u'H', u'H', u'H', u'H', u'H', u'H', u'H', u'I', u'I', u'I', u'I', u'I', u'I', u'J', u'J', u'K', u'L', u'L', u'L', u'L', u'L', u'L', u'L', u'L', u'L', u'L', u'M', u'M', u'M', u'M', u'M', u'M', u'M', u'M', u'M', u'M', u'M', u'M', u'M', u'M', u'N', u'N', u'N', u'O', u'O', u'O', u'O', u'O', u'O', u'O', u'O', u'O', u'P', u'P', u'P', u'P', u'P', u'P', u'P', u'P', u'P', u'P', u'P', u'R', u'R', u'R', u'R', u'R', u'R', u'R', u'R', u'R', u'S', u'S', u'S', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'T', u'U', u'U', u'U', u'V', u'V', u'W', u'W', u'W', u'W', u'W', u'X', u'X', u'X', u'X', u'X', u'X', u'X', u'Z', u'Z', u'Z', u'Z', u'Z', u'Z', u'Z', u'_', u'_', u'a', u'a', u'a', u'a', u'a', u'b', u'b', u'b', u'b', u'b', u'b', u'b', u'b', u'b', u'b', u'b', u'c', u'c', u'c', u'c', u'c', u'c', u'c', u'c', u'c', u'c', u'c', u'd', u'd', u'd', u'd', u'd', u'd', u'd', u'd', u'd', u'd', u'd', u'd', u'd', u'e', u'e', u'e', u'e', u'e', u'e', u'e', u'e', u'e', u'f', u'f', u'f', u'f', u'f', u'h', u'h', u'h', u'h', u'h', u'h', u'h', u'h', u'i', u'i', u'i', u'i', u'i', u'i', u'j', u'j', u'k', u'l', u'l', u'l', u'l', u'l', u'l', u'l', u'l', u'l', u'l', u'm', u'm', u'm', u'm', u'm', u'm', u'm', u'm', u'm', u'm', u'm', u'm', u'm', u'm', u'n', u'n', u'n', u'o', u'o', u'o', u'o', u'o', u'o', u'o', u'o', u'o', u'p', u'p', u'p', u'p', u'p', u'p', u'p', u'p', u'p', u'p', u'p', u'r', u'r', u'r', u'r', u'r', u'r', u'r', u'r', u'r', u's', u's', u's', u't', u't', u't', u't', u't', u't', u't', u't', u't', u't', u't', u't', u't', u't', u't', u't', u't', u't', u't', u'u', u'u', u'u', u'v', u'v', u'w', u'w', u'w', u'w', u'w', u'x', u'x', u'x', u'x', u'x', u'x', u'x', u'z', u'z', u'z', u'z', u'z', u'z', u'z', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|'])'
         return 0
         ;;
     esac
@@ -286,7 +286,7 @@
 
     case "${prev}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -294,7 +294,7 @@
 
     case "${cur}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -303,7 +303,7 @@
          return 0
          ;;
       *  )
-        _filedir '@(azw3|docx|epub|htm|html|xhtm|xhtml|AZW3|DOCX|EPUB|HTM|HTML|XHTM|XHTML)'
+        _filedir '@([u'3', u'3', u'A', u'B', u'C', u'D', u'E', u'H', u'H', u'H', u'H', u'L', u'L', u'M', u'M', u'M', u'M', u'O', u'P', u'T', u'T', u'T', u'T', u'U', u'W', u'X', u'X', u'X', u'Z', u'a', u'b', u'c', u'd', u'e', u'h', u'h', u'h', u'h', u'l', u'l', u'm', u'm', u'm', u'm', u'o', u'p', u't', u't', u't', u't', u'u', u'w', u'x', u'x', u'x', u'z', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|', u'|'])'
         return 0
         ;;
     esac
@@ -317,7 +317,7 @@
     local IFS=$'|\t'
     COMPREPLY=()
     cur="${COMP_WORDS[COMP_CWORD]}"
-    opts="--version|-h|--help|-t|--title|-a|--authors|-i|--isbn|-v|--verbose|-o|--opf|-c|--cover|-d|--timeout"
+    opts="--version|-h|--help|-t|--title|-a|--authors|-i|--isbn|-v|--verbose|-o|--opf|-c|--cover|-d|--timeout|-p|--allowed-plugin"
     words=""
 
     case "${cur}" in
@@ -367,7 +367,7 @@
     local IFS=$'|\t'
     COMPREPLY=()
     cur="${COMP_WORDS[COMP_CWORD]}"
-    opts="--version|-h|--help|-p|--port|-t|--timeout|--thread-pool|--password|--username|--develop|--max-cover|--max-opds-items|--max-opds-ungrouped-items|--url-prefix|--with-library|--pidfile|--daemonize|--restriction|--virtual-library|--auto-reload"
+    opts="--version|-h|--help|--enable-allow-socket-preallocation|--disable-allow-socket-preallocation|--enable-auth|--disable-auth|--auth-mode|--compress-min-size|--displayed-fields|--enable-fallback-to-detected-interface|--disable-fallback-to-detected-interface|--ignored-fields|--listen-on|--enable-local-write|--disable-local-write|--enable-log-not-found|--disable-log-not-found|--max-header-line-size|--max-job-time|--max-jobs|--max-log-size|--max-opds-items|--max-opds-ungrouped-items|--max-request-body-size|--port|--shutdown-timeout|--ssl-certfile|--ssl-keyfile|--timeout|--url-prefix|--enable-use-bonjour|--disable-use-bonjour|--enable-use-sendfile|--disable-use-sendfile|--userdb|--worker-count|--log|--access-log|--daemonize|--pidfile|--auto-reload|--manage-users"
     words=""
 
     case "${cur}" in
@@ -392,12 +392,12 @@
     COMPREPLY=()
     cur="${COMP_WORDS[COMP_CWORD]}"
     prev="${COMP_WORDS[COMP_CWORD-1]}"
-    opts="--version -h --help -c --command -e --exec-file -f --subset-font -d --debug-device-driver -g --gui --gui-debug -w --viewer --paths --add-simple-plugin --reinitialize-db -m --inspect-mobi -t --edit-book -x --explode-book --export-all-calibre-data --import-calibre-data -s --shutdown-running-calibre --test-build -r --run-plugin --diff --default-programs --new-server"
+    opts="--version -h --help -c --command -e --exec-file -f --subset-font -d --debug-device-driver -g --gui --gui-debug -w --viewer --paths --add-simple-plugin --reinitialize-db -m --inspect-mobi -t --edit-book -x --explode-book --export-all-calibre-data --import-calibre-data -s --shutdown-running-calibre --test-build -r --run-plugin --diff --default-programs"
     pics="@(gif|bmp|png|jpeg|jpg|GIF|BMP|PNG|JPEG|JPG)"
 
     case "${prev}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -405,7 +405,7 @@
 
     case "${cur}" in
       --cover )
-           _filedir ${pics}
+           _filedir ['$', 'c', 'i', 'p', 's', '{', '}']
            return 0
          ;;
     
@@ -414,7 +414,7 @@
          return 0
          ;;
       *  )
-        _filedir '@(py|recipe|mobi|azw|azw3|docx|PY|RECIPE|MOBI|AZW|AZW3|DOCX)'
+        _filedir '@(['3', '3', 'A', 'A', 'B', 'C', 'C', 'D', 'E', 'E', 'I', 'I', 'M', 'O', 'O', 'P', 'P', 'R', 'W', 'W', 'X', 'Y', 'Z', 'Z', 'a', 'a', 'b', 'c', 'c', 'd', 'e', 'e', 'i', 'i', 'm', 'o', 'o', 'p', 'p', 'r', 'w', 'w', 'x', 'y', 'z', 'z', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|'])'
         return 0
         ;;
     esac
