From 1b127193643fd18cdf14d1a32590e9e5f5f684e3 Mon Sep 17 00:00:00 2001 From: Emily Grace Seville Date: Thu, 18 Nov 2021 02:43:29 +1000 Subject: [PATCH] Extend mono completions Work on mono.fish - rewrite runtime option completions Add new mono tools: - gacutil - xsp - mkbundle - ilasm - monodis - ikdasm - monop - sqlsharp - gendarme - csharp Closes #8452 --- CHANGELOG.rst | 2 +- share/completions/csharp.fish | 4 + share/completions/gacutil.fish | 25 +++++ share/completions/gendarme.fish | 17 +++ share/completions/ikdasm.fish | 8 ++ share/completions/ilasm.fish | 10 ++ share/completions/mkbundle.fish | 56 ++++++++++ share/completions/mono.fish | 176 +++++++++++++++++++++++++++----- share/completions/monodis.fish | 45 ++++++++ share/completions/monop.fish | 10 ++ share/completions/sqlsharp.fish | 3 + share/completions/xsp.fish | 30 ++++++ 12 files changed, 359 insertions(+), 27 deletions(-) create mode 100644 share/completions/csharp.fish create mode 100644 share/completions/gacutil.fish create mode 100644 share/completions/gendarme.fish create mode 100644 share/completions/ikdasm.fish create mode 100644 share/completions/ilasm.fish create mode 100644 share/completions/mkbundle.fish create mode 100644 share/completions/monodis.fish create mode 100644 share/completions/monop.fish create mode 100644 share/completions/sqlsharp.fish create mode 100644 share/completions/xsp.fish diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b462950f0..ab9830f47 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -157,7 +157,7 @@ Completions - ``istioctl`` (:issue:`8343`) - ``kmutil`` - ``matlab`` (:issue:`8505`) - - ``mono`` (:issue:`8415`) + - ``mono`` (:issue:`8415`) and related tools ``csharp``, ``gacutil``, ``gendarme``, ``ikdasm``, ``ilasm``, ``mkbundle``, ``monodis``, ``monop``, ``sqlsharp`` and ``xsp``. - Angular's ``ng`` (:issue:`8111`) - ``nodeenv`` (:issue:`8533`) - ``octave`` (:issue:`8505`) diff --git a/share/completions/csharp.fish b/share/completions/csharp.fish new file mode 100644 index 000000000..a32361315 --- /dev/null +++ b/share/completions/csharp.fish @@ -0,0 +1,4 @@ +complete -c csharp -l attach -f -r -a '(ps -A | awk \'NR > 1 { printf "%s\t%s\n", $1, $4 }\')' -d +'Inject into other processes' +complete -c csharp -s e -f -r -d 'Specify expression to execute' +complete -c csharp -s s -r -d 'Use file to execute' diff --git a/share/completions/gacutil.fish b/share/completions/gacutil.fish new file mode 100644 index 000000000..0abb5a233 --- /dev/null +++ b/share/completions/gacutil.fish @@ -0,0 +1,25 @@ +set -l COMMANDS -s i -o il -s u -o ul -o us -s l + +complete -c gacutil -s '?' -d 'Show help' + +complete -c gacutil -s i -c "! __fish_seen_argument $COMMANDS" \ + -d 'Install an assembly into the global assembly cache' +complete -c gacutil -o il -c "! __fish_seen_argument $COMMANDS" \ + -d 'Install one or more assemblies into the global assembly cache' +complete -c gacutil -s u -c "! __fish_seen_argument $COMMANDS" \ + -d 'Uninstall an assembly from the global assembly cache' +complete -c gacutil -o ul -c "! __fish_seen_argument $COMMANDS" \ + -d 'Uninstall one or more assemblies from the global assembly cache' +complete -c gacutil -o us -c "! __fish_seen_argument $COMMANDS" \ + -d 'Uninstall an assembly using the specifed assembly\'s full name' +complete -c gacutil -s l -c "! __fish_seen_argument $COMMANDS" \ + -d 'List the contents of the global assembly cache' + +complete -c gacutil -o package -c '__fish_seen_argument $COMMANDS' \ + -d 'Create a directory in prefix/lib/mono' +complete -c gacutil -o gacdir -c "__fish_seen_argument $COMMANDS" \ + -d 'Use the GACs base directory' +complete -c gacutil -o root -c "__fish_seen_argument $COMMANDS" \ + -d 'Integrate with automake tools or packaging tools that require a prefix directory to be specified' +complete -c gacutil -o check_refs -c '__fish_seen_argument -s i -o il' \ + -d 'Check the assembly being installed into the GAC does not reference any non strong named assemblies' diff --git a/share/completions/gendarme.fish b/share/completions/gendarme.fish new file mode 100644 index 000000000..44b6a8007 --- /dev/null +++ b/share/completions/gendarme.fish @@ -0,0 +1,17 @@ +complete -c gendarme -l version -d 'Show version' + +complete -c gendarme -l config -r -d 'Use config file' +complete -c gendarme -l set -x -d 'Use rule set from config file' +complete -c gendarme -l xml -r -d 'Convert stdout to XML and redirect to file' +complete -c gendarme -l html -r -d 'Convert stdout to HTML and redirect to file' +complete -c gendarme -l console -d 'Show the defects on stdout' +complete -c gendarme -l ignore -r -d 'Exclude the defects from file' +complete -c gendarme -l limit -x -d 'Specify defect limit' +complete -c gendarme -l severity -x \ + -a 'all audit audit+ low low+ low- medium medium+ medium- high high+ high- critical critical-' \ + -d 'Filter the reported defects to include the specified severity levels' +complete -c gendarme -l confidence -x \ + -a 'all low low+ normal normal+ normal- high high+ high- total total-' \ + -d 'Filter the reported defects to include the specified confidence levels' +complete -c gendarme -l quiet -d 'Discard stdout' +complete -c gendarme -s v -l verbose -d 'Show more messages' diff --git a/share/completions/ikdasm.fish b/share/completions/ikdasm.fish new file mode 100644 index 000000000..76c6dec4b --- /dev/null +++ b/share/completions/ikdasm.fish @@ -0,0 +1,8 @@ +complete -c ikdasm -o help -d 'Show help' + +complete -c ikdasm -o out -r -d 'Redirect stdout to file' +complete -c ikdasm -o assembly -d 'Include Assembly table contents' +complete -c ikdasm -o assemblyref -d 'Include AssemblyRef table contents' +complete -c ikdasm -o moduleref -d 'Include ModuleRef table contents' +complete -c ikdasm -o exported -d 'Include ExportedType table contents' +complete -c ikdasm -o customattr -d 'Include CustomAttribute table contents' diff --git a/share/completions/ilasm.fish b/share/completions/ilasm.fish new file mode 100644 index 000000000..f23c2743c --- /dev/null +++ b/share/completions/ilasm.fish @@ -0,0 +1,10 @@ +complete -c ilasm -l help -d 'Show help and exit' +complete -c ilasm -l version -d 'Show version and exit' + +complete -c ilasm -o 'output:' -r -d 'Specify the output file name' +complete -c ilasm -o exe -d 'Generate an exe' +complete -c ilasm -o scan_only -d 'Just scan the IL code and display tokens' +complete -c ilasm -o show_tokens -d 'Show tokens as they are parsed' +complete -c ilasm -o show_method_def -d 'Display method information when a method is defined' +complete -c ilasm -o show_method_ref -d 'Display method information when a method is referenced' +complete -c ilasm -o 'key:' -d 'Strongname (sign) the output assembly using the key pair' diff --git a/share/completions/mkbundle.fish b/share/completions/mkbundle.fish new file mode 100644 index 000000000..ee49aeac7 --- /dev/null +++ b/share/completions/mkbundle.fish @@ -0,0 +1,56 @@ +function __fish_mkbundle_cross_args + mkbundle --list-targets | awk -F ' - ' '/^Targets available/ { exit } !/^Available targets/ { printf "%s\t%s\n", gensub(/^\t/, "", 1, $1), $2 }' +end + +# Options +complete -c mkbundle -l config -r -d 'Bundle DLLMAP Mono config file' +complete -c mkbundle -l config-dir -r -d 'Use MONO_CFG_DIR environment variable as config dir' +complete -c mkbundle -n 'not __fish_seen_argument -l sdk -l cross' -l cross -x -a '(__fish_mkbundle_cross_args)' \ + -d 'Create bundle for the specified target platform' +complete -c mkbundle -l deps \ + -d 'Bundle all of the referenced assemblies for the assemblies listed on the command line option' +complete -c mkbundle -l env -x -d 'Specify value for the environment variable' +complete -c mkbundle -l fetch-target -x \ + -d 'Download a precompiled runtime for the specified target from the Mono distribution site' +complete -c mkbundle -l i18n -x -d 'Use encoding tables to ship with the executable' +complete -c mkbundle -s L -r -d 'Use path for look for assemblies' +complete -c mkbundle -l library -r -d 'Embed the dynamic library file' +complete -c mkbundle -l lists-targets -d 'Show all of the available remote cross compilation targets' +complete -c mkbundle -l local-targets -d 'Show all of the available local cross compilation targets' +complete -c mkbundle -l cil-strip -r -d 'Use a CIL stripper that mkbundle will use if able to' +complete -c mkbundle -l in-tree -r \ + -d 'Use mkbundle with a mono source repository from which to pull the necessary headers for compilation' +complete -c mkbundle -l managed-linker -r \ + -d 'Use mkbundle access to a managed linker to preprocess the assemblies' +complete -c mkbundle -l machine-config -r \ + -d 'Use the given FILE as the machine.config file for the generated application' +complete -c mkbundle -l no-config \ + -d 'Prevent mkbundle from automatically bundling a config file' +complete -c mkbundle -l nodeps \ + -d 'Exclude all the assemblies but those were specified on the command line' +complete -c mkbundle -s o -r -d 'Use output file name' +complete -c mkbundle -l options -r -d 'Specify configuration options to the Mono runtime' +complete -c mkbundle -n 'not __fish_seen_argument -l sdk -l cross' -l sdk -r \ + -d 'Use a path from which mkbundle will resolve the Mono SDK from' +complete -c mkbundle -l target-server -r -d 'Use a different server to provide cross-compiled runtimes' +complete -c mkbundle -l mono-api-struct-path -r \ + -d 'Use file with the definition of the BundleMonoAPI structure' + +# Old embedding options +complete -c mkbundle -s c -d 'Produce the stub file, do not compile the resulting stub' +complete -c mkbundle -o oo -r \ + -d 'Specify the name to be used for the helper object file that contains the bundle' +complete -c mkbundle -l keeptemp \ + -d 'Prevent mkbundle from deleting temporary files that it uses to produce the bundle' +complete -c mkbundle -l nomain -d 'Generate the host stub without a main() function' +complete -c mkbundle -l static -d 'Statically link to mono and glib' +complete -c mkbundle -s z -d 'Compress the assemblies before embedding' + +# AOT options +complete -c mkbundle -l aot-runtime -r \ + -d 'Use the path to the mono runtime to use for AOTing assemblies' +complete -c mkbundle -l aot-dedup \ + -d 'Deduplicate AOT\'ed methods based on a unique mangling of method names' +complete -c mkbundle -l aot-mode -x \ + -a 'full\t"Generate the necessary stubs to not require runtime code generation" llvmonly\t"Do the same, but force all codegen to go through the llvm backend"' \ + -d 'Specifiy AOT mode' diff --git a/share/completions/mono.fish b/share/completions/mono.fish index 5463d571d..824bd3931 100644 --- a/share/completions/mono.fish +++ b/share/completions/mono.fish @@ -1,29 +1,153 @@ -complete -c mono -s h -l help -d 'Show help and exit' -complete -c mono -s V -l version -a number -f -d 'Show version and exit' +# Runtime options +complete -c mono -s h -l help -d 'Show help' +complete -c mono -s V -l version -a number -f -d 'Show version' -complete -c mono -l aot -a 'asmonly bind-to-runtime-version data-outfile direct-icalls - direct-pinvoke dwarfdebug full hybrid llvm llvmonly llvmopts llvmllc mcpu dedup-include - info interp depfile ld-flags llvm-path msym-dir mtriple nimt-trampolines ngsharedvt-trampolines - nodebug no-direct-calls nrgctx-trampolines nrgctx-fetch-trampolines ntrampolines outfile - print-skipped-methods profile profile-only readonly-value save-temps,keep-temps soft-debug - static stats temp-path threads tool-prefix verbose write-symbols,no-write-symbols no-opt' \ +complete -c mono -l aot -a '(__fish_append , \\ + asmonly\t"Instruct the AOT compiler to output assembly code instead of an object file" \\ + bind-to-runtime-version\t"Force the generated AOT files to be bound to the runtime version of the compiling Mono" \\ + data-outfile\t"Instruct the AOT code generator to output certain data constructs into a separate file" \\ + direct-icalls\t"Invoke icalls directly instead of going through the operating system symbol lookup operation" \\ + direct-pinvoke\t"Invoke PInvoke methods directly instead of going through the operating system symbol lookup operation" \\ + dwarfdebug\t"Instruct the AOT compiler to emit DWARF debugging information" \\ + full\t"Create binaries which can be used with the --full-aot option" \\ + hybrid\t"Create binaries which can be used with the --hybrid-aot option" \\ + llvm\t"Perform AOT with the LLVM backend instead of the Mono backend where possible" \\ + llvmonly\t"Perform AOT with the LLVM backend exclusively and the Mono backend will not be used" \\ + llvmopts\t"Specify flags to the built-in set of flags passed to the LLVM optimizer" \\ + llvmllc\t"Specify flags to the built-in set of flags passed to the LLVM static compiler (llc)" \\ + mcpu\t"Allow AOT mode to use all instructions current CPU supports" \\ + dedup-include\t"Pass compilation where we compile the methods that we had previously skipped" \\ + info\t"Print the architecture the AOT in this copy of Mono targets and quit" \\ + interp\t"Generate all required wrappers, so that it is possible to run --interpreter without any code generation at runtime" \\ + depfile\t"Output a gcc -M style dependency file" \\ + ld-flags\t"Specify flags to pass to the C linker (if the current AOT mode calls for invoking it)" \\ + llvm-path\t"Same for the llvm tools \\\'opt\\\' and \\\'llc\\\'" \\ + msym-dir\t"Instruct the AOT compiler to generate offline sequence points .msym files" \\ + mtriple\t"Use the GNU style target triple to determine some code generation options" \\ + nimt-trampolines\t"Precreate IMT trampolines in the AOT image" \\ + ngsharedvt-trampolines\t"Precreate value type generic sharing trampolines in the AOT image" \\ + nodebug\t"Instruct the AOT compiler to not output any debugging information" \\ + no-direct-calls\t"Prevent the AOT compiler from generating a direct calls to a method" \\ + nrgctx-trampolines\t"Precreate generic sharing trampolines in the AOT image" \\ + nrgctx-fetch-trampolines\t"Precreate generic sharing fetch trampolines in the AOT image" \\ + ntrampolines\t"Precreate method trampolines in the AOT image" \\ + outfile\t"Instruct the AOT compiler to save the output to the specified file" \\ + print-skipped-methods\t"Output the skipped methods to the console" \\ + profile\t"Specify a file to use for profile-guided optimization" \\ + profile-only\t"" \\ + readonly-value\t"Override the value of a static readonly field" \\ + save-temps,keep-temps\t"Instruct the AOT compiler to keep temporary files" \\ + soft-debug\t"Instruct the compiler to generate sequence point checks" \\ + static\t"Create an ELF object file (.o) or .s file which can be statically linked into an executable when embedding the mono runtime" \\ + stats\t"Print various stats collected during AOT compilation" \\ + temp-path\t"Specify path to store temporary files created during AOT compilation" \\ + threads\t"Use multiple threads when compiling the methods" \\ + tool-prefix\t"Prepend to the name of tools ran by the AOT compiler" \\ + verbose\t"Print additional information about type loading failures" \\ + write-symbols,no-write-symbols\t"Instruct the AOT compiler to emit (or not emit) debug symbol information" \\ + no-opt\t"Instruct the AOT compiler tot no call opt when compiling with LLVM")' \ -f -d 'Precompile CIL code to native code' -complete -c mono -l debug -a 'casts mdb-optimizations gdb' -f -d 'Use debug mode' -complete -c mono -l debugger-agent -a 'address loglevel logfile server setpgid suspend - transport' -f -d 'Use debugger agent' -complete -c mono -l profile -d 'Use profiler module' -complete -c mono -l trace -d 'Trace expression' -complete -c mono -l jitmap -d 'Generate JIT method map in /tmp/perf-PID.map' -complete -c mono -l config -F -r -d 'Use config' -complete -c mono -s v -l verbose -d 'Increase verbosity level' -complete -c mono -l runtime -f -d 'Use runtime version' -complete -c mono -l optimize -a 'abcrem all aot branch cfold cmov deadce consprop copyprop - fcmov float32 gshared inline intrins linears leaf loop peephole precomp sched shared - sse2 tailc' -f -d 'Use optimizations' -complete -c mono -l attach -a disable -f -d 'Specify attach agent options' -complete -c mono -l llvm -d 'Use LLVM' -complete -c mono -l nollvm -d 'Don\'t use LLVM' -complete -c mono -l gc -a 'sgen boehm' -f -d 'Specify garbage collector' -complete -c mono -l handlers -d 'Use custom handlers' -complete -c mono -l aot-path -f -d 'Add directories for AOT image search' +complete -c mono -l aot-path -d 'Show additional directories to search for AOT images' +complete -c mono -l apply-bindings \ + -d 'Apply the assembly bindings from the specified configuration file when running the AOT compiler' +complete -c mono -l assembly-loader \ + -a 'strict\t"Check that the public key token, culture and version of a candidate assembly matches the requested strong name" legacy\t"Allow candidate as long as the name matches"' \ + -f -d 'Use assembly loader mode' +complete -c mono -l attach -a disable -f -d 'Disable the attach functionality' +complete -c mono -l config -d 'Read configuration from file instead of using default one' + +complete -c mono -l debugger-agent -a '(__fish_append , \\ + address\t"Specify the IP address where your debugger client is listening to" \\ + loglevel\t"Specify the diagnostics log level for" \\ + logfile\t"Instruct the AOT code generator to output certain data constructs into a separate file" \\ + server\t"Specify the file where the log will be stored, it defaults to standard output" \\ + setpgid\t"If set to yes, Mono will call setpgid(0, 0) on startup" \\ + suspend\t"Suspend the vm on startup until it connects successfully to a debugger front end" \\ + transport\t"Specify the transport that the debugger will use to communicate")' \ + -f -d 'Use a debugging agent inside the Mono runtime and connect it to a client user interface' + +complete -c mono -l desktop \ + -d 'Configure the virtual machine to be better suited for desktop applications' +complete -c mono -l full-aot \ + -d 'Prevent from generation any code at runtime and depend exclusively on the code generated from using mono --aot=full previously' +complete -c mono -l full-aot-interp \ + -d 'Same as --full-aot with fallback to the interpreter' +complete -c mono -l gc -a 'boehm\tBoehm sgen\tSGen' -f -d 'Use the Garbage Collector engine' +complete -c mono -l gc-debug -f -d 'Specify MONO_GC_DEBUG environment variable value' +complete -c mono -l gc-params -f -d 'Specify MONO_GC_PARAMS environment variable value' +test "$(uname)" = Darwin && complete -c mono -l arch -a '32\t"32 bit" 64\t"64 bit"' -f \ + -d 'Use the bitness of the Mono binary used, if available' +complete -c mono -l interpreter -d 'Use Mono interpreter to execute a given assembly' +complete -c mono -l hybrid-aot -d 'Run assemblies that have been stripped of IL' +complete -c mono -l llvm -d 'Use the LLVM optimization and code generation engine to JIT or AOT compile' +complete -c mono -l ffast-math -d 'Use Mono and LLVM aggressive floating point optimizations' + +complete -c mono -s o -l optimize -a '(__fish_append , \\ + abcrem\t"Array bound checks removal" \\ + all\t"Turn on all optimizations" \\ + aot\t"Usage of Ahead Of Time compiled code" \\ + branch\t"Branch optimizations" \\ + cfold\t"Constant folding" \\ + cmov\t"Conditional moves [arch-dependency]" \\ + deadce\t"Dead code elimination" \\ + consprop\t"Constant propagation" \\ + copyprop\t"Copy propagation" \\ + fcmov\t"Fast x86 FP compares [arch-dependency]" \\ + float32\t"Perform 32-bit float arithmetic using 32-bit operations" \\ + gshared\t"Enable generic code sharing" \\ + inline\t"Inline method calls" \\ + intrins\t"Intrinsic method implementations" \\ + linears\t"Linear scan global reg allocation" \\ + leaf\t"Leaf procedures optimizations" \\ + loop\t"Loop related optimizations" \\ + peephole\t"Peephole postpass" \\ + precomp\t"Precompile all methods before executing Main" \\ + sched\t"Instruction scheduling" \\ + shared\t"Emit per-domain code" \\ + sse2\t"SSE2 instructions on x86 [arch-dependency]" \\ + tailc\t"Tail recursion and tail calls" \\ + transport\t"Specify the transport that the debugger will use to communicate")' \ + -f -d 'Use optimizations' + +complete -c mono -l response -d 'Use a response file' +complete -c mono -l runtime -a '(mono --version)' -f -d 'Use Mono version' +complete -c mono -l server -d 'Optimize the virtual machine to be better suited for server operations' +complete -c mono -l use-map-jit -d 'Generate code using MAP_JIT on MacOS' +complete -c mono -l verify-all \ + -d 'Verify mscorlib and assemblies in the global assembly cache for valid IL, and all user code for IL verifiability' + +# Development options +complete -c mono -l debug -a '(__fish_append , \\ + casts\t"Produce a detailed error when throwing a InvalidCastException" \\ + mdb-optimizations\t"Disable some JIT optimizations which are usually only disabled when running inside the debugger" \\ + gdb\t"Generate and register debugging information with gdb")' \ + -f -d 'Use the debugging mode in the runtime' + +complete -c mono -l profile -f -d 'Use a profiler module with the given arguments' +complete -c mono -l trace -f -d 'Show method names as they are invoked' +complete -c mono -l no-x86-stack-align -d 'Don\'t align stack frames on the x86 architecture' +complete -c mono -l jitmap -d 'Generate a JIT method map in a /tmp/perf-PID.map file' + +# JIT maintainer options +complete -c mono -l bisect -f -d 'This flag is used by the automatic optimization bug bisector' +complete -c mono -l break -x \ + -d 'Insert a breakpoint before the method whose name is \'method\' (namespace.class:methodname)' +complete -c mono -l breakonex -d 'Use a breakpoint on exceptions' +complete -c mono -l compile -x -d 'Compile a method (namespace.name:methodname)' +complete -c mono -l compile-all -d 'Compile all the methods in an assembly' +complete -c mono -l graph \ + -a 'cfg\t"Control Flow Graph (CFG)" + dtree\t"Dominator Tree" code\t"CFG showing code" + ssa\t"CFG showing code after SSA translation" + optcode\t"CFG showing code after IR optimizations"' \ + -x -d 'Generate a postscript file with a graph with the details about the specified method' +complete -c mono -l ncompile \ + -d 'Instruct the runtime on the number of times that the method(-s) specified by --compile/--compile-all to be compiled' +complete -c mono -l stats \ + -d 'Display information about the work done by the runtime during the execution of an application' +complete -c mono -l wapi \ + -a 'hps\t"Delete the global semaphore" + semdel\t"List the currently used handles"' \ + -x -d 'Perform maintenance of the process shared data' +complete -c mono -s v -l verbose -d 'Show more messages' diff --git a/share/completions/monodis.fish b/share/completions/monodis.fish new file mode 100644 index 000000000..064beae03 --- /dev/null +++ b/share/completions/monodis.fish @@ -0,0 +1,45 @@ +# Options +complete -c monodis -s h -l help -d 'Show help' + +complete -c monodis -l output -r -d 'Redirect stdout to file' +complete -c monodis -l mscorlib -d 'Use \'mscorlib\' as the assembly name for non-corlib assemblies' +complete -c monodis -l show-method-tokens -d 'Show tokens for disassembled methods' +complete -c monodis -l show-tokens -d 'Show tokens for strings, types, methods, fields, ...' + +# Options to display metadata tables +complete -c monodis -l assembly -d 'Include Assembly table contents' +complete -c monodis -l assemblyref -d 'Include AssemblyRef table contents' +complete -c monodis -l classlayout -d 'Include ClassLayout table contents' +complete -c monodis -l constant -d 'Include Constant table contents' +complete -c monodis -l customattr -d 'Include CustomAttribute table contents' +complete -c monodis -l declsec -d 'Include DeclSec table contents' +complete -c monodis -l event -d 'Include Event table contents' +complete -c monodis -l exported -d 'Include ExportedType table contents' +complete -c monodis -l fields -d 'Include Field table contents' +complete -c monodis -l file -d 'Include File table contents' +complete -c monodis -l forward-decls -d 'Include forward declarations for classes' +complete -c monodis -l genericpar -d 'Include GenericParam table contents' +complete -c monodis -l implmap -d 'Include ImplMap table contents' +complete -c monodis -l interface -d 'Include InterfaceImpl table contents' +complete -c monodis -l manifest -d 'Include ManifestResource table contents' +complete -c monodis -l marshal -d 'Include FieldMarshal table contents' +complete -c monodis -l numberref -d 'Include MemberRef table contents' +complete -c monodis -l method -d 'Include MethodRef table contents' +complete -c monodis -l methodimpl -d 'Include MethodImpl table contents' +complete -c monodis -l methodspec -d 'Include MethodSpec table contents' +complete -c monodis -l methodsem -d 'Include MethodSemantics table contents' +complete -c monodis -l module -d 'Include Module table contents' +complete -c monodis -l moduleref -d 'Include ModuleRef table contents' +complete -c monodis -l mresources -d 'Save all the managed resources embedded in the assembly into the current directory' +complete -c monodis -l presources -d 'Show offsets and names of manifest resources embedded in the assembly' +complete -c monodis -l nested -d 'Include NestedClass table contents' +complete -c monodis -l param -d 'Include Param table contents' +complete -c monodis -l parconst -d 'Include GenericParameterConstraint table contents' +complete -c monodis -l property -d 'Include Property table contents' +complete -c monodis -l propertymap -d 'Include PropertyMap table contents' +complete -c monodis -l standalonesig -d 'Include StandAloneSig table contents' +complete -c monodis -l typedef -d 'Include TypeDef table contents' +complete -c monodis -l typespec -d 'Include TypeRef table contents' +complete -c monodis -l blob -d 'Use hex for entire contents of the blob stream' +complete -c monodis -l strings -d 'Include Strings table contents' +complete -c monodis -l userstrings -d 'Include User-Strings heap contents' diff --git a/share/completions/monop.fish b/share/completions/monop.fish new file mode 100644 index 000000000..c00488ec8 --- /dev/null +++ b/share/completions/monop.fish @@ -0,0 +1,10 @@ +complete -c monop -s r -d 'Specifies the assembly to use for looking up the type' +complete -c monop -s a -d 'Renders all of the types in the specified assembly' +complete -c monop -s s -s k -l search -d 'Searches through all known assemblies for types containing \'class\'' +complete -c monop -l refs -d 'Print a list of the referenced assemblies for an assembly.' +complete -c monop -s f -l filter-obsolete -d 'Do not show obsolete types and members' +complete -c monop -s d -l declared-only -d 'Only show members declared in the type' +complete -c monop -s p -l private -d 'Show private members' +complete -c monop -l runtime-version -d 'Print runtime version' +complete -c monop -o xa -d 'Set the lookup path to the Xamarin.Android directory' +complete -c monop -o xi -d 'Set the lookup path to the Xamarin.iOS directory' diff --git a/share/completions/sqlsharp.fish b/share/completions/sqlsharp.fish new file mode 100644 index 000000000..89e95c250 --- /dev/null +++ b/share/completions/sqlsharp.fish @@ -0,0 +1,3 @@ +complete -c sqlsharp -s f -r -d 'Read SQL commands from file' +complete -c sqlsharp -s o -r -d 'Redirect stdout to file' +complete -c sqlsharp -s s -d 'Use silent mode' diff --git a/share/completions/xsp.fish b/share/completions/xsp.fish new file mode 100644 index 000000000..9abdd2d6f --- /dev/null +++ b/share/completions/xsp.fish @@ -0,0 +1,30 @@ +complete -c xsp -l help -d 'Show help' +complete -c xsp -l version -d 'Show version' + +complete -c xsp -l address -x -d 'Use the IP address to listen on' +complete -c xsp -l port -x -d 'Use the port where the XSP server will listen to requests' +complete -c xsp -l backlog -x -d 'Use the backlog of connections to set on the listener socket' +complete -c xsp -l minThreads -x -d 'Specify minimum number of threads the threadpool allocates' +complete -c xsp -l filename -r -d 'Use unix socket file name to listen on' +complete -c xsp -l root -r -d 'Use root directory for XSP' +complete -c xsp -l appconfigfile -r -d 'Add application definitions from the XML configuration file' +complete -c xsp -l appconfigdir -r \ + -d 'Add application definitions from all XML files found in the specified directory' +complete -c xsp -l applications -r \ + -d 'Use a comma separated list of virtual directory and real directory for all the applications' +complete -c xsp -l master -d 'Use this instance by mod_mono to create ASP.NET applications on demand' +complete -c xsp -l no-hidden -d 'Do not protect hidden files/directories from being accessed by clients' +complete -c xsp -l https -d 'Enable HTTPS support on the server' +complete -c xsp -l https-client-accept -d 'Like --https enable HTTPS support on the server' +complete -c xsp -l https-client-require -d 'Like --https enable HTTPS support on the server' +complete -c xsp -l p12file -r -d 'Use to specify the PKCS#12 file to use' +complete -c xsp -l cert -r -d 'Use to specify the server X.509 certificate file' +complete -c xsp -l pkpwd -r -d 'Use password to decode the private key' + +complete -c xsp -l protocol \ + -a 'Default\t"Auto-detect the client protocol and adjust the server protocol accordingly" Tls\t"Tls protocol" Ssl3\t"Ssl3 protocol"' \ + -x -d 'Use protocols available for encrypting the communications' + +complete -c xsp -l terminate -d 'Gracefully terminates a running mod-mono-server instance' +complete -c xsp -l verbose -d 'Show more messages' +complete -c xsp -l pidfile -r -d 'Redirect xsp4 PID output in stdout to file'