Newer
Older
dub_jkp / scripts / fish-completion / dub.fish
@andre2007 andre2007 on 12 Jul 2018 7 KB Add build type syntax
  1. #
  2. # Completions for the dub command
  3. #
  4.  
  5. #
  6. # Subcommands
  7. #
  8.  
  9. # Package creation
  10. complete -c dub -n '__fish_use_subcommand' -x -a init -d 'Initializes an empty package skeleton'
  11. # Build, test, and run
  12. complete -c dub -n '__fish_use_subcommand' -x -a run -d 'Builds and runs a package'
  13. complete -c dub -n '__fish_use_subcommand' -x -a build -d 'Builds a package'
  14. complete -c dub -n '__fish_use_subcommand' -x -a test -d 'Executes the tests of the selected package'
  15. complete -c dub -n '__fish_use_subcommand' -x -a generate -d 'Generates project files using the specified generator'
  16. complete -c dub -n '__fish_use_subcommand' -x -a describe -d 'Prints a JSON description of the project and its dependencies'
  17. complete -c dub -n '__fish_use_subcommand' -x -a clean -d 'Removes intermediate build files and cached build results'
  18. complete -c dub -n '__fish_use_subcommand' -x -a dustmite -d 'Create reduced test cases for build errors'
  19. # Package management
  20. complete -c dub -n '__fish_use_subcommand' -x -a fetch -d 'Manually retrieves and caches a package'
  21. complete -c dub -n '__fish_use_subcommand' -x -a remove -d 'Removes a cached package'
  22. complete -c dub -n '__fish_use_subcommand' -x -a upgrade -d 'Forces an upgrade of all dependencies'
  23. complete -c dub -n '__fish_use_subcommand' -x -a add-path -d 'Adds a default package search path'
  24. complete -c dub -n '__fish_use_subcommand' -x -a remove-path -d 'Removes a package search path'
  25. complete -c dub -n '__fish_use_subcommand' -x -a add-local -d 'Adds a local package directory'
  26. complete -c dub -n '__fish_use_subcommand' -x -a remove-local -d 'Removes a local package directory'
  27. complete -c dub -n '__fish_use_subcommand' -x -a list -d 'Prints a list of all local packages dub is aware of'
  28. complete -c dub -n '__fish_use_subcommand' -x -a add-override -d 'Adds a new package override'
  29. complete -c dub -n '__fish_use_subcommand' -x -a remove-override -d 'Removes an existing package override'
  30. complete -c dub -n '__fish_use_subcommand' -x -a list-overrides -d 'Prints a list of all local package overrides'
  31. complete -c dub -n '__fish_use_subcommand' -x -a clean-caches -d 'Removes cached metadata'
  32.  
  33. #
  34. # Subcommand options
  35. #
  36. for cmd in run build
  37. complete -c dub -n "contains '$cmd' (commandline -poc)" -l rdmd -d "Use rdmd"
  38. end
  39. for cmd in run build test
  40. complete -c dub -n "contains '$cmd' (commandline -poc)" -s f -l force -d "Force recompilation"
  41. end
  42.  
  43. for cmd in run
  44. complete -c dub -n "contains '$cmd' (commandline -poc)" -l temp-build -d "Build in temp folder"
  45. end
  46.  
  47. for cmd in run build test generate describe dustmite
  48. complete -c dub -n "contains '$cmd' (commandline -poc)" -s c -l config -r -d "Build configuration"
  49. complete -c dub -n "contains '$cmd' (commandline -poc)" -s a -l arch -r -d "Force architecture"
  50. complete -c dub -n "contains '$cmd' (commandline -poc)" -s d -l debug -r -d "Debug identifier"
  51. complete -c dub -n "contains '$cmd' (commandline -poc)" -l nodeps -d "No dependency check"
  52. complete -c dub -n "contains '$cmd' (commandline -poc)" -s b -l build -u -x -d "Build type" -a "debug plain release release-debug release-nobounds unittest profile profile-gc docs ddox cov unittest-cov syntax"
  53. complete -c dub -n "contains '$cmd' (commandline -poc)" -l build-mode -x -d "How compiler & linker are invoked" -a "separate allAtOnce singleFile"
  54. complete -c dub -n "contains '$cmd' (commandline -poc)" -l compiler -x -d "Compiler binary" -a "dmd gdc ldc gdmd ldmd"
  55. end
  56.  
  57. for cmd in run build test generate describe dustmite fetch remove upgrade
  58. complete -c dub -n "contains '$cmd' (commandline -poc)" -l force-remove -x -d "Force deletion"
  59. end
  60.  
  61. for cmd in run build dustmite
  62. complete -c dub -n "contains '$cmd' (commandline -poc)" -l combined -d "Build project in single compiler run"
  63. end
  64.  
  65. for cmd in run build test generate
  66. complete -c dub -n "contains '$cmd' (commandline -poc)" -l print-builds -d "Print list of build types"
  67. end
  68.  
  69. for cmd in run build generate
  70. complete -c dub -n "contains '$cmd' (commandline -poc)" -l print-configs -d "Print list of configurations"
  71. complete -c dub -n "contains '$cmd' (commandline -poc)" -l print-platform -d "Print build platform identifiers"
  72. end
  73.  
  74. for cmd in build dustmite fetch remove
  75. complete -c dub -n "contains '$cmd' (commandline -poc)" -x -d "Package" -a '(dub list | awk \'/^[[:space:]]+/ { print $1 }\' | cut -f 3 -d " ")'
  76. end
  77.  
  78. for cmd in clean
  79. complete -c dub -n "contains '$cmd' (commandline -poc)" -l all-packages -d "Clean all known packages"
  80. end
  81.  
  82. for cmd in dustmite
  83. complete -c dub -n "contains '$cmd' (commandline -poc)" -l compiler-status -x -d "Expected compiler status code"
  84. complete -c dub -n "contains '$cmd' (commandline -poc)" -l compiler-regex -x -d "Compiler output regular expression"
  85. complete -c dub -n "contains '$cmd' (commandline -poc)" -l linker-status -x -d "Expected linker status code"
  86. complete -c dub -n "contains '$cmd' (commandline -poc)" -l linker-regex -x -d "Linker output regular expression"
  87. complete -c dub -n "contains '$cmd' (commandline -poc)" -l program-status -x -d "Expected program status code"
  88. complete -c dub -n "contains '$cmd' (commandline -poc)" -l program-regex -x -d "Program output regular expression"
  89. complete -c dub -n "contains '$cmd' (commandline -poc)" -l test-package -x -d "Perform a test run"
  90. end
  91.  
  92. for cmd in fetch remove
  93. complete -c dub -n "contains '$cmd' (commandline -poc)" -l version -r -d "Version to use"
  94. complete -c dub -n "contains '$cmd' (commandline -poc)" -l system -d "Deprecated"
  95. complete -c dub -n "contains '$cmd' (commandline -poc)" -l local -d "Deprecated"
  96. end
  97.  
  98. for cmd in upgrade
  99. complete -c dub -n "contains '$cmd' (commandline -poc)" -l prerelease -d "Use latest pre-release version"
  100. complete -c dub -n "contains '$cmd' (commandline -poc)" -l verify -d "Update if successful build"
  101. complete -c dub -n "contains '$cmd' (commandline -poc)" -l missing-only -d "Update dependencies without a selected version"
  102. end
  103.  
  104. for cmd in add-path remove-path add-local remove-local add-override remove-override
  105. complete -c dub -n "contains '$cmd' (commandline -poc)" -l system -d "System-wide"
  106. end
  107.  
  108.  
  109.  
  110. # Common options
  111. complete -c dub -s h -l help -d "Display help"
  112. complete -c dub -l root -r -d "Path to operate in"
  113. complete -c dub -l registry -r -d "Use DUB registry URL"
  114. complete -c dub -l annotate -d "Just print actions"
  115. complete -c dub -s v -l verbose -d "Print diagnostic output"
  116. complete -c dub -l vverbose -d "Print debug output"
  117. complete -c dub -s q -l quiet -d "Only print warnings and errors"
  118. complete -c dub -l vquiet -d "Print no messages"
  119. complete -c dub -l cache -x -d "Use cache location" -a "local system user"