diff --git a/share/completions/csc.fish b/share/completions/csc.fish new file mode 100644 index 000000000..669163e37 --- /dev/null +++ b/share/completions/csc.fish @@ -0,0 +1,130 @@ +# Completions for the Visual C# Compiler(Roslyn) +# See: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/listed-by-category + +# Optimization +for bytes in 512 1024 2048 4096 8192 + complete -c csc -o "filealign:$bytes" -d "Specifies the size of sections in the output file" +end + +complete -c csc -s o -o "o+" -o optimize -o "optimize+" -d "Enable optimizations" +complete -c csc -o "o-" -o "optimize-" -d "Disable optimizations" + +# Output Files +complete -c csc -o deterministic -d "Causes the compiler to output an assembly whose binary content is identical across compilations if inputs are identical" +complete -c csc -o "doc:" -d "Specifies an XML file where processed documentation comments are to be written" +complete -c csc -o "out:" -d "Specifies the output file" +complete -c csc -o "pathmap:" -d "Specify a mapping for source path names output by the compiler" +complete -c csc -o "pdb:" -d "Specifies the file name and location of the .pdb file" +complete -c csc -o "platform:anycpu" -d "Specify any platform as the output platform (default)" +complete -c csc -o "platform:anycpu32bitpreferred" -d "Specify any platform as the output platform" +complete -c csc -o "platform:ARM" -d "Specify ARM as the output platform" +complete -c csc -o "platform:ARM64" -d "Specify ARM64 as the output platform" +complete -c csc -o "platform:x64" -d "Specify AMD64 or EM64T as the output platform" +complete -c csc -o "platform:x86" -d "Specify x86 as the output platform" +complete -c csc -o "platform:Itanium" -d "Specify Itanium as the output platform" +complete -c csc -o "preferreduilang:" -d "Specify a language for compiler output" +complete -c csc -o "refout:" -d "Generate a reference assembly in addition to the primary assembly" +complete -c csc -o refonly -d "Generate a reference assembly instead of a primary assembly" +complete -c csc -o "t:appcontainerexe" -o "target:appcontainerexe" -d "Specify .exe file for Windows 8.x Store apps as the format of the output file" +complete -c csc -o "t:exe" -o "target:exe" -d "Specify .exe file as the format of the output file (default)" +complete -c csc -o "t:library" -o "target:library" -d "Specify code library as the format of the output file" +complete -c csc -o "t:module" -o "target:module" -d "Specify module as the format of the output file" +complete -c csc -o "t:winexe" -o "target:winexe" -d "Specify Windows program as the format of the output file" +complete -c csc -o "t:winmdobj" -o "target:winmdobj" -d "Specify intermediate .winmdobj file as the format of the output file" +complete -c csc -o "modulename:" -d "Specify the name of the source module" + +# .NET Framework Assemblies +complete -c csc -o "addmodule:" -d "Specifies one or more modules to be part of this assembly" +complete -c csc -o delaysign -o "delaysign+" -d "Instructs the compiler to add the public key but to leave the assembly unsigned" +complete -c csc -o "delaysign-" -d "Disable -delaysign" +complete -c csc -o "keycontainer:" -d "Specifies the name of the cryptographic key container" +complete -c csc -o "keyfile:" -d "Specifies the filename containing the cryptographic key" +complete -c csc -o "lib:" -d "Specifies the location of assemblies referenced by means of -reference" +complete -c csc -o nostdlib -o "nostdlib+" -d "Instructs the compiler not to import the standard library (mscorlib.dll)" +complete -c csc -o "nostdlib-" -d "Disable -nostdlib" +complete -c csc -o publicsign -d "Apply a public key without signing the assembly, but set the bit in the assembly indicating the assembly is signed" +complete -c csc -o "r:" -o "reference:" -d "Imports metadata from a file that contains an assembly" +complete -c csc -o "a:" -o "analyzer:" -d "Run the analyzers from this assembly" +complete -c csc -o "additionalfile:" -d "Names additional files that don't directly affect code generation but may be used by analyzers for producing errors or warnings" +complete -c csc -o embed -d "Embed all source files in the PDB" +complete -c csc -o "embed:" -d "Embed specific files in the PDB" + +# Debugging/Error Checking +complete -c csc -o "bugreport:" -d "Creates a file that contains information that makes it easy to report a bug" +complete -c csc -o checked -o "checked+" -d "Specifies whether integer arithmetic that overflows the bounds of the data type will cause an exception at run time" +complete -c csc -o "checked-" -d "Disable -checked" + +complete -c csc -o debug -o "debug+" -d "Instruct the compiler to emit debugging information" +for arguments in full pdbonly + complete -c csc -o "debug:$arguments" -d "Instruct the compiler to emit debugging information" +end +complete -c csc -o "debug-" -d "Disable -debug" + +for arguments in none prompt queue send + complete -c csc -o "errorreport:$arguments" -d "Sets error reporting behavior" +end + +complete -c csc -o fullpaths -d "Specifies the absolute path to the file in compiler output" +complete -c csc -o "nowarn:" -d "Suppresses the compiler's generation of specified warnings" + +for warning_level in (seq 0 4) + if test $warning_level -ne 4 + complete -c csc -o "w:$warning_level" -o "warn:$warning_level" -d "Sets the warning level to $warning_level" + else + complete -c csc -o "w:$warning_level" -o "warn:$warning_level" -d "Sets the warning level to $warning_level (default)" + end +end + +complete -c csc -o warnaserror -o "warnaserror+" -d "Promotes warnings to errors" +complete -c csc -o "warnaserror-" -d "Disable -warnaserror" +complete -c csc -o "ruleset:" -d "Specify a ruleset file that disables specific diagnostics" + +# Preprocessor +complete -c csc -o "d:" -o "define:" -d "Defines preprocessor symbols" + +# Resources +complete -c csc -o "l:" -o "link:" -d "Makes COM type information in specified assemblies available to the project" +complete -c csc -o "linkres:" -o "linkresource:" -d "Creates a link to a managed resource" +complete -c csc -o "res:" -o "resource:" -d "Embeds a .NET Framework resource into the output file" +complete -c csc -o "win32icon:" -d "Specifies an .ico file to insert into the output file" +complete -c csc -o "win32res:" -d "Specifies a Win32 resource to insert into the output file" + +# Miscellaneous +complete -c csc -s "?" -o help -d "Lists compiler options to stdout" +complete -c csc -o "baseaddress:" -d "Specifies the preferred base address at which to load a DLL" +complete -c csc -o "codepage:" -d "Specifies the code page to use for all source code files in the compilation" +complete -c csc -o highentropyva -o "highentropyva+" -d "Specifies that the executable file supports address space layout randomization (ASLR)" +complete -c csc -o "highentropyva-" -d "Disable -highentropyva" + +complete -c csc -o "langversion:?" -d "Display the allowed values for language version" +complete -c csc -o "langversion:default" -d "Specify latest major version as language version" +complete -c csc -o "langversion:latest" -d "Specify latest version (including minor releases) as language version" +complete -c csc -o "langversion:latestMajor" -d "Specify latest major version as language version" +complete -c csc -o "langversion:preview" -d "Specify latest preview version as language version" +complete -c csc -o "langversion:ISO-1" -d "Specify ISO/IEC 23270:2003 C# (1.0/1.2) as language version" +complete -c csc -o "langversion:ISO-2" -d "Specify ISO/IEC 23270:2006 C# (2.0) as language version" +for version_number in (seq 3 8) + switch $version_number + case 7 + complete -c csc -o "langversion:$version_number" -d "Specify C# $version_number.0 as language version" + complete -c csc -o "langversion:$version_number.1" -d "Specify C# $version_number.1 as language version" + complete -c csc -o "langversion:$version_number.2" -d "Specify C# $version_number.2 as language version" + complete -c csc -o "langversion:$version_number.3" -d "Specify C# $version_number.3 as language version" + case 8 + complete -c csc -o "langversion:$version_number.0" -d "Specify C# $version_number.0 as language version" + case "*" + complete -c csc -o "langversion:$version_number" -d "Specify C# $version_number.0 as language version" + end +end + +complete -c csc -o "m:" -o "main:" -d "Specifies the location of the Main method" +complete -c csc -o noconfig -d "Instructs the compiler not to compile with csc.rsp" +complete -c csc -o nologo -d "Suppresses compiler banner information" +complete -c csc -o "recurse:" -d "Searches subdirectories for source files to compile" +complete -c csc -o "subsystemversion:" -d "Specifies the minimum version of the subsystem that the executable file can use" +complete -c csc -o unsafe -d "Enables compilation of code that uses the unsafe keyword" +complete -c csc -o utf8output -d "Displays compiler output using UTF-8 encoding" +complete -c csc -o parallel -o "parallel+" -d "Specifies whether to use concurrent build" +complete -c csc -o "parallel-" -d "Disable -parallel" +complete -c csc -o "checksumalgorithm:SHA1" -d "Specify SHA1 as the algorithm for calculating the source file checksum stored in PDB (default)" +complete -c csc -o "checksumalgorithm:SHA256" -d "Specify SHA256 as the algorithm for calculating the source file checksum stored in PDB" diff --git a/share/completions/csi.fish b/share/completions/csi.fish new file mode 100644 index 000000000..bb1c67bb2 --- /dev/null +++ b/share/completions/csi.fish @@ -0,0 +1,8 @@ +# Completions for the Visual C# Interactive Compiler(Roslyn) + +complete -c csi -o help -o "?" -d "Display this usage message" +complete -c csi -o version -d "Display the version and exit" +complete -c csi -s i -d "Drop to REPL after executing the specified script" +complete -c csi -o "r:" -o "reference:" -d "Reference metadata from the specified assembly file(s)" +complete -c csi -o "lib:" -o "libPath:" -o "libPaths:" -d "List of directories where to look for libraries specified by #r directive" +complete -c csi -o "u:" -o "using:" -o "usings:" -o "import:" -o "imports:" -d "Define global namespace using" diff --git a/share/completions/fsharpc.fish b/share/completions/fsharpc.fish new file mode 100644 index 000000000..1b9094173 --- /dev/null +++ b/share/completions/fsharpc.fish @@ -0,0 +1,90 @@ +# Completions for the F# Compiler +# See: https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-options + +# Output files +complete -c fsharpc -o "o:" -l "out:" -d "Name of the output file" +complete -c fsharpc -o "a:exe" -l "target:exe" -d "Build a console executable" +complete -c fsharpc -o "a:winexe" -l "target:winexe" -d "Build a Windows executable" +complete -c fsharpc -o "a:library" -l "target:library" -d "Build a library" +complete -c fsharpc -o "a:module" -l "target:module" -d "Build a module that can be added to another assembly" +complete -c fsharpc -l delaysign -l "delaysign+" -d "Delay-sign the assembly using only the public portion of the strong name key" +complete -c fsharpc -l "delaysign-" -d "Disable --delaysign" +complete -c fsharpc -l "doc:" -d "Write the xmldoc of the assembly to the given file" +complete -c fsharpc -l "keyfile:" -d "Specify a strong name key file" +complete -c fsharpc -l "keycontainer:" -d "Specify a strong name key container" +complete -c fsharpc -l "platform:x86" -d "Limit the platform this code can run on to x86" +complete -c fsharpc -l "platform:Itanium" -d "Limit the platform this code can run on to Itanium" +complete -c fsharpc -l "platform:x64" -d "Limit the platform this code can run on to x64" +complete -c fsharpc -l "platform:anycpu32bitpreferred" -d "Limit the platform this code can run on to anycpu32bitpreferred" +complete -c fsharpc -l "platform:anycpu" -d "Limit the platform this code can run on to anycpu (default)" +complete -c fsharpc -l nooptimizationdata -d "Only include optimization information essential for implementing inlined constructs" +complete -c fsharpc -l nointerfacedata -d "Don't add a resource to the generated assembly containing F#-specific metadata" +complete -c fsharpc -l "sig:" -d "Print the inferred interface of the assembly to a file" + +# Input files +complete -c fsharpc -o "r:" -l "reference:" -d "Reference an assembly" + +# Resources +complete -c fsharpc -l "win32res:" -d "Specify a Win32 resource file (.res)" +complete -c fsharpc -l "win32manifest:" -d "Specify a Win32 manifest file" +complete -c fsharpc -l nowin32manifest -d "Do not include the default Win32 manifest" +complete -c fsharpc -l "resource:" -d "Embed the specified managed resource" +complete -c fsharpc -l "linkresource:" -d "Link the specified resource to this assembly where the resinfo format is [,[,public|private]]" + +# Code generation +complete -c fsharpc -s g -o "g+" -l debug -l "debug+" -d "Emit debug information" +complete -c fsharpc -o "g-" -l "debug-" -d "Disable --debug" +for arguments in full pdbonly portable embedded + complete -c fsharpc -o "g:$arguments" -l "debug:$arguments" -d "Specify debugging type" +end + +complete -c fsharpc -s O -o "O+" -l optimize -l "optimize+" -d "Enable optimizations" +complete -c fsharpc -o "O-" -l "optimize-" -d "Disable --optimize" +complete -c fsharpc -l tailcalls -l "tailcalls+" -d "Enable or disable tailcalls" +complete -c fsharpc -l "tailcalls-" -d "Disable --tailcalls" +complete -c fsharpc -l deterministic -l "deterministic+" -d "Produce a deterministic assembly (including module version GUID and timestamp)" +complete -c fsharpc -l "deterministic-" -d "Disable --deterministic" +complete -c fsharpc -l crossoptimize -l "crossoptimize+" -d "Enable or disable cross-module optimizations" +complete -c fsharpc -l "crossoptimize-" -d "Disable --crossoptimize" + +# Errors and warnings +complete -c fsharpc -l warnaserror -l "warnaserror+" -d "Report all warnings as errors" +complete -c fsharpc -l "warnaserror-" -d "Disable --warnaserror" +complete -c fsharpc -l "warnaserror:" -l "warnaserror+:" -d "Report specific warnings as errors" +complete -c fsharpc -l "warnaserror-:" -d "Disable --warnaserror:" + +for warning_level in (seq 0 5) + complete -c fsharpc -l "warn:$warning_level" -d "Set a warning level to $warning_level" +end + +complete -c fsharpc -l "nowarn:" -d "Disable specific warning messages" +complete -c fsharpc -l "warnon:" -d "Enable specific warnings that may be off by default" +complete -c fsharpc -l consolecolors -l "consolecolors+" -d "Output warning and error messages in color" +complete -c fsharpc -l "consolecolors-" -d "Disable --consolecolors" + +# Language +complete -c fsharpc -l checked -l "checked+" -d "Generate overflow checks" +complete -c fsharpc -l "checked-" -d "Disable --checked" +complete -c fsharpc -o "d:" -l "define:" -d "Define conditional compilation symbols" +complete -c fsharpc -l mlcompatibility -d "Ignore ML compatibility warnings" + +# Miscellaneous +complete -c fsharpc -l nologo -d "Suppress compiler copyright message" +complete -c fsharpc -s "?" -l help -d "Display this usage message" + +# Advanced +complete -c fsharpc -l "codepage:" -d "Specify the codepage used to read source files" +complete -c fsharpc -l utf8output -d "Output messages in UTF-8 encoding" +complete -c fsharpc -l fullpaths -d "Output messages with fully qualified paths" +complete -c fsharpc -o "I:" -l "lib:" -d "Specify a directory for the include path which is used to resolve source files and assemblies" +complete -c fsharpc -l simpleresolution -d "Resolve assembly references using directory-based rules rather than MSBuild resolution" +complete -c fsharpc -l "baseaddress:" -d "Base address for the library to be built" +complete -c fsharpc -l noframework -d "Do not reference the default CLI assemblies by default" +complete -c fsharpc -l standalone -d "Statically link the F# library and all referenced DLLs that depend on it into the assembly being generated" +complete -c fsharpc -l "staticlink:" -d "Statically link the given assembly and all referenced DLLs that depend on this assembly" +complete -c fsharpc -l "pdb:" -d "Name the output debug file" +complete -c fsharpc -l highentropyva -l "highentropyva+" -d "Enable high-entropy ASLR" +complete -c fsharpc -l "highentropyva-" -d "Disable --highentropyva" +complete -c fsharpc -l "subsystemversion:" -d "Specify subsystem version of this assembly" +complete -c fsharpc -l "quotations-debug" -l "quotations-debug+" -d "Emit debug information in quotations" +complete -c fsharpc -l "quotations-debug-" -d "Disable --quotations-debug" diff --git a/share/completions/fsharpi.fish b/share/completions/fsharpi.fish new file mode 100644 index 000000000..669229b58 --- /dev/null +++ b/share/completions/fsharpi.fish @@ -0,0 +1,67 @@ +# Completions for the F# Interactive +# See: https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/fsharp-interactive-options + +# Input files +complete -c fsharpi -l "use:" -d "Use the given file on startup as initial input" +complete -c fsharpi -l "load:" -d "#load the given file on startup" +complete -c fsharpi -o "r:" -l "reference:" -d "Reference an assembly" + +# Code generation +complete -c fsharpi -s g -o "g+" -l debug -l "debug+" -d "Emit debug information" +complete -c fsharpi -o "g-" -l "debug-" -d "Disable --debug" +for arguments in full pdbonly portable embedded + complete -c fsharpi -o "g:$arguments" -l "debug:$arguments" -d "Specify debugging type" +end + +complete -c fsharpi -s O -o "O+" -l optimize -l "optimize+" -d "Enable optimizations" +complete -c fsharpi -o "O-" -l "optimize-" -d "Disable --optimize" +complete -c fsharpi -l tailcalls -l "tailcalls+" -d "Enable or disable tailcalls" +complete -c fsharpi -l "tailcalls-" -d "Disable --tailcalls" +complete -c fsharpi -l deterministic -l "deterministic+" -d "Produce a deterministic assembly (including module version GUID and timestamp)" +complete -c fsharpi -l "deterministic-" -d "Disable --deterministic" +complete -c fsharpi -l crossoptimize -l "crossoptimize+" -d "Enable or disable cross-module optimizations" +complete -c fsharpi -l "crossoptimize-" -d "Disable --crossoptimize" + +# Errors and warnings +complete -c fsharpi -l warnaserror -l "warnaserror+" -d "Report all warnings as errors" +complete -c fsharpi -l "warnaserror-" -d "Disable --warnaserror" +complete -c fsharpi -l "warnaserror:" -l "warnaserror+:" -d "Report specific warnings as errors" +complete -c fsharpi -l "warnaserror-:" -d "Disable --warnaserror:" + +for warning_level in (seq 0 5) + complete -c fsharpi -l "warn:$warning_level" -d "Set a warning level to $warning_level" +end + +complete -c fsharpi -l "nowarn:" -d "Disable specific warning messages" +complete -c fsharpi -l "warnon:" -d "Enable specific warnings that may be off by default" +complete -c fsharpi -l consolecolors -l "consolecolors+" -d "Output warning and error messages in color" +complete -c fsharpi -l "consolecolors-" -d "Disable --consolecolors" + +# Language +complete -c fsharpi -l checked -l "checked+" -d "Generate overflow checks" +complete -c fsharpi -l "checked-" -d "Disable --checked" +complete -c fsharpi -o "d:" -l "define:" -d "Define conditional compilation symbols" +complete -c fsharpi -l mlcompatibility -d "Ignore ML compatibility warnings" + +# Miscellaneous +complete -c fsharpi -l nologo -d "Suppress compiler copyright message" +complete -c fsharpi -s "?" -l help -d "Display this usage message" + +# Advanced +complete -c fsharpi -l "codepage:" -d "Specify the codepage used to read source files" +complete -c fsharpi -l utf8output -d "Output messages in UTF-8 encoding" +complete -c fsharpi -l fullpaths -d "Output messages with fully qualified paths" +complete -c fsharpi -o "I:" -l "lib:" -d "Specify a directory for the include path which is used to resolve source files and assemblies" +complete -c fsharpi -l simpleresolution -d "Resolve assembly references using directory-based rules rather than MSBuild resolution" +complete -c fsharpi -l "targetprofile:" -d "Specify target framework profile of this assembly. Valid values are mscorlib, netcore or netstandard. Default - mscorlib" +complete -c fsharpi -l noframework -d "Do not reference the default CLI assemblies by default" +complete -c fsharpi -l exec -d "Exit fsi after loading the files or running the .fsx script given on the command line" +complete -c fsharpi -l gui -l "gui+" -d "Execute interactions on a Windows Forms event loop (on by default)" +complete -c fsharpi -l "gui-" -d "Disable --gui" +complete -c fsharpi -l quiet -d "Suppress fsi writing to stdout" +complete -c fsharpi -l readline -l "readline+" -d "Support TAB completion in console (on by default)" +complete -c fsharpi -l "readline-" -d "Disable --readline" +complete -c fsharpi -l "quotations-debug" -l "quotations-debug+" -d "Emit debug information in quotations" +complete -c fsharpi -l "quotations-debug-" -d "Disable --quotations-debug" +complete -c fsharpi -l shadowcopyreferences -l "shadowcopyreferences+" -d "Prevents references from being locked by the F# Interactive process" +complete -c fsharpi -l "shadowcopyreferences-" -d "Disable --shadowcopyreferences" diff --git a/share/completions/tsc.fish b/share/completions/tsc.fish new file mode 100644 index 000000000..302cc3030 --- /dev/null +++ b/share/completions/tsc.fish @@ -0,0 +1,120 @@ +# Completions for the TypeScript compiler +# See: https://www.typescriptlang.org/docs/handbook/compiler-options.html + +complete -c tsc -l allowJs -d "Allow JavaScript files to be compiled" +complete -c tsc -l allowSyntheticDefaultImports -d "Allow default imports from modules with no default export" +complete -c tsc -l allowUmdGlobalAccess -d "Allow accessing UMD globals from modules" +complete -c tsc -l allowUnreachableCode -d "Do not report errors on unreachable code" +complete -c tsc -l allowUnusedLabels -d "Do not report errors on unused labels" +complete -c tsc -l alwaysStrict -d "Parse in strict mode and emit \"use strict\" for each source file" +complete -c tsc -l baseUrl -d "Base directory to resolve non-relative module names" +complete -c tsc -s b -l build -d "Builds this project and all of its dependencies specified by Project References" +complete -c tsc -l charset -d "The character set of the input files" +complete -c tsc -l checkJs -d "Report errors in .js files" +complete -c tsc -l composite -d "Ensure TypeScript can determine where to find the outputs of the referenced project to compile project" +complete -c tsc -s d -l declaration -d "Generates corresponding .d.ts file" +complete -c tsc -l declarationDir -d "Output directory for generated declaration files" +complete -c tsc -l declarationMap -d "Generates a sourcemap for each corresponding ‘.d.ts’ file" +complete -c tsc -l diagnostics -d "Show diagnostic information" +complete -c tsc -l disableSizeLimit -d "Disable size limitation on JavaScript project" +complete -c tsc -l downlevelIteration -d "Provide full support for iterables in for..of, spread and destructuring when targeting ES5 or ES3" +complete -c tsc -l emitBOM -d "Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files" +complete -c tsc -l emitDeclarationOnly -d "Only emit ‘.d.ts’ declaration files" +complete -c tsc -l emitDecoratorMetadata -d "Emit design-type metadata for decorated declarations in source" +complete -c tsc -l esModuleInterop -d "Emit __importStar and __importDefault helpers for runtime babel ecosystem compatibility and enable --allowSyntheticDefaultImports for typesystem compatibility" +complete -c tsc -l experimentalDecorators -d "Enables experimental support for ES decorators" +complete -c tsc -l extendedDiagnostics -d "Show verbose diagnostic information" +complete -c tsc -l forceConsistentCasingInFileNames -d "Disallow inconsistently-cased references to the same file" +complete -c tsc -s h -l help -d "Print help message" +complete -c tsc -l importHelpers -d "Import emit helpers (e.g. __extends, __rest, etc..) from tslib" +complete -c tsc -l incremental -d "Enable incremental compilation by reading/writing information from prior compilations to a file on disk" +complete -c tsc -l inlineSourceMap -d "Emit a single file with source maps instead of having a separate file" +complete -c tsc -l inlineSources -d "Emit the source alongside the sourcemaps within a single file" +complete -c tsc -l init -d "Initializes a TypeScript project and creates a tsconfig.json file" +complete -c tsc -l isolatedModules -d "Transpile each file as a separate module (similar to “ts.transpileModule”)" +complete -c tsc -l jsx -d "Support JSX in .tsx files: \"react\", \"preserve\", \"react-native\"" +complete -c tsc -l jsxFactory -d "Specify the JSX factory function to use when targeting react JSX emit, e.g. React.createElement or h" +complete -c tsc -l keyofStringsOnly -d "Resolve keyof to string valued property names only (no numbers or symbols)" +complete -c tsc -l lib -x -a "ES5 ES6 ES2015 ES7 ES2016 ES2017 ES2018 ESNext DOM DOM.Iterable WebWorker ScriptHost ES2015.Core ES2015.Collection ES2015.Generator ES2015.Iterable ES2015.Promise ES2015.Proxy ES2015.Reflect ES2015.Symbol ES2015.Symbol.WellKnown ES2016.Array.Include ES2017.object ES2017.Intl ES2017.SharedMemory ES2017.String ES2017.TypedArrays ES2018.Intl ES2018.Promise ES2018.RegExp ESNext.AsyncIterable ESNext.Array ESNext.Intl ESNext.Symbol" -d "List of library files to be included in the compilation" +complete -c tsc -l listEmittedFiles -d "Print names of generated files part of the compilation" +complete -c tsc -l listFiles -d "Print names of files part of the compilation" + +complete -c tsc -l locale -x -a "( + printf '%s\t%s\n' en 'English (US)' + printf '%s\t%s\n' cs Czech + printf '%s\t%s\n' de German + printf '%s\t%s\n' es Spanish + printf '%s\t%s\n' fr French + printf '%s\t%s\n' it Italian + printf '%s\t%s\n' ja Japanese + printf '%s\t%s\n' ko Korean + printf '%s\t%s\n' pl Polish + printf '%s\t%s\n' pt-BR 'Portuguese(Brazil)' + printf '%s\t%s\n' ru Russian + printf '%s\t%s\n' tr Turkish + printf '%s\t%s\n' zh-CN 'Simplified Chinese' + printf '%s\t%s\n' zh-TW 'Traditional Chinese' +)" -d "The locale to use to show error messages, e.g. en-us" + +complete -c tsc -l mapRoot -d "Specifies the location where debugger should locate map files instead of generated locations" +complete -c tsc -l maxNodeModuleJsDepth -d "The maximum dependency depth to search under node_modules and load JavaScript files" +complete -c tsc -s m -l module -x -a "None CommonJS AMD System UMD ES6 ES2015 ESNext" -d "Specify module code generation" +complete -c tsc -l moduleResolution -x -a "Node Classic" -d "Determine how modules get resolved" + +complete -c tsc -l newLine -x -a "( + printf '%s\t%s\n' crlf windows + printf '%s\t%s\n' lf unix +)" -d "Use the specified end of line sequence to be used when emitting files" + +complete -c tsc -l noEmit -d "Do not emit outputs" +complete -c tsc -l noEmitHelpers -d "Do not generate custom helper functions like __extends in compiled output" +complete -c tsc -l noEmitOnError -d "Do not emit outputs if any errors were reported" +complete -c tsc -l noErrorTruncation -d "Do not truncate error messages" +complete -c tsc -l noFallthroughCasesInSwitch -d "Report errors for fallthrough cases in switch statement" +complete -c tsc -l noImplicitAny -d "Raise error on expressions and declarations with an implied any type" +complete -c tsc -l noImplicitReturns -d "Report an error when not all code paths in function return a value" +complete -c tsc -l noImplicitThis -d "Raise error on this expressions with an implied any type" +complete -c tsc -l noImplicitUseStrict -d "Do not emit \"use strict\" directives in module output" +complete -c tsc -l noLib -d "Do not include the default library file (lib.d.ts)" +complete -c tsc -l noResolve -d "Do not add triple-slash references or module import targets to the list of compiled files" +complete -c tsc -l noStrictGenericChecks -d "Disable strict checking of generic signatures in function types" +complete -c tsc -l noUnusedLocals -d "Report errors on unused locals" +complete -c tsc -l noUnusedParameters -d "Report errors on unused parameters" +complete -c tsc -l outDir -d "Redirect output structure to the directory" +complete -c tsc -l outFile -d "Concatenate and emit output to single file" +complete -c tsc -l preserveConstEnums -d "Do not erase const enum declarations in generated code" +complete -c tsc -l preserveSymlinks -d "Do not resolve symlinks to their real path; treat a symlinked file like a real one" +complete -c tsc -l preserveWatchOutput -d "Keep outdated console output in watch mode instead of clearing the screen" +complete -c tsc -l pretty -d "Stylize errors and messages using color and context" +complete -c tsc -s p -l project -d "Compile a project given a valid configuration file" +complete -c tsc -l removeComments -d "Remove all comments except copy-right header comments beginning with /*!" +complete -c tsc -l resolveJsonModule -d "Include modules imported with .json extension" +complete -c tsc -l rootDir -d "Specifies the root directory of input files" +complete -c tsc -l showConfig -d "Rather than actually execute a build with the other input options and config files, show the final implied config file in the output" +complete -c tsc -l skipLibCheck -d "Skip type checking of all declaration files (*.d.ts)" +complete -c tsc -l sourceMap -d "Generates corresponding .map file" +complete -c tsc -l sourceRoot -d "Specifies the location where debugger should locate TypeScript files instead of source locations" +complete -c tsc -l strict -d "Enable all strict type checking options" +complete -c tsc -l strictBindCallApply -d "Enable stricter checking of the bind, call, and apply methods on functions" +complete -c tsc -l strictFunctionTypes -d "Disable bivariant parameter checking for function types" +complete -c tsc -l strictPropertyInitialization -d "Ensure non-undefined class properties are initialized in the constructor" +complete -c tsc -l strictNullChecks -d "In strict null checking mode, the null and undefined values are not in the domain of every type and are only assignable to themselves and any (the one exception being that undefined is also assignable to void)" +complete -c tsc -l suppressExcessPropertyErrors -d "Suppress excess property checks for object literals" +complete -c tsc -l suppressImplicitAnyIndexErrors -d "Suppress --noImplicitAny errors for indexing objects lacking index signatures" + +complete -c tsc -s t -l target -x -a "( + printf '%s\t%s\n' ES3 'ECMAScript 3 (default)' + printf '%s\t%s\n' ES5 'ECMAScript 5' + printf '%s\t%s\n' ES6 'ECMAScript 6' + printf '%s\t%s\n' ES2015 'ECMAScript 2015' + printf '%s\t%s\n' ES2016 'ECMAScript 2016' + printf '%s\t%s\n' ES2017 'ECMAScript 2017' + printf '%s\t%s\n' ESNext 'Latest supported ECMAScript' +)" -d "Specify ECMAScript target version" + +complete -c tsc -l traceResolution -d "Report module resolution log messages" +complete -c tsc -l tsBuildInfoFile -d "Specify what file to store incremental build information in" +complete -c tsc -l types -d "List of names of type definitions to include" +complete -c tsc -l typeRoots -d "List of folders to include type definitions from" +complete -c tsc -s v -l version -d "Print the compiler’s version" +complete -c tsc -s w -l watch -d "Run the compiler in watch mode" diff --git a/share/completions/vbc.fish b/share/completions/vbc.fish new file mode 100644 index 000000000..4a2477199 --- /dev/null +++ b/share/completions/vbc.fish @@ -0,0 +1,140 @@ +# Completions for the Visual Basic Compiler(Roslyn) +# See: https://docs.microsoft.com/en-us/dotnet/visual-basic/reference/command-line-compiler/compiler-options-listed-by-category + +# Compiler output +complete -c vbc -o nologo -d "Suppresses compiler banner information" +complete -c vbc -o utf8output -o "utf8output+" -d "Displays compiler output using UTF-8 encoding" +complete -c vbc -o "utf8output-" -d "Disable -utf8output" +complete -c vbc -o verbose -o "verbose+" -d "Outputs extra information during compilation" +complete -c vbc -o "verbose-" -d "Disable -verbose" +complete -c vbc -o "modulename:" -d "Specify the name of the source module" +complete -c vbc -o "preferreduilang:" -d "Specify a language for compiler output" + +# Optimization +for bytes in 512 1024 2048 4096 8192 + complete -c vbc -o "filealign:$bytes" -d "Specifies where to align the sections of the output file" +end + +complete -c vbc -o optimize -o "optimize+" -d "Enable optimizations" +complete -c vbc -o "optimize-" -d "Disable optimizations" + +# Output files +complete -c vbc -o doc -o "doc:" -o "doc+" -d "Process documentation comments to an XML file" +complete -c vbc -o "doc-" -d "Disable -doc" +complete -c vbc -o deterministic -d "Causes the compiler to output an assembly whose binary content is identical across compilations if inputs are identical" +complete -c vbc -o netcf -d "Sets the compiler to target the .NET Compact Framework" +complete -c vbc -o "out:" -d "Specifies an output file" +complete -c vbc -o refonly -d "Outputs only a reference assembly" +complete -c vbc -o "refout:" -d "Specifies the output path of a reference assembly" +complete -c vbc -o "t:exe" -o "target:exe" -d "Causes the compiler to create an executable console application (default)" +complete -c vbc -o "t:library" -o "target:library" -d "Causes the compiler to create a dynamic-link library (DLL)" +complete -c vbc -o "t:module" -o "target:module" -d "Causes the compiler to generate a module that can be added to an assembly" +complete -c vbc -o "t:winexe" -o "target:winexe" -d "Causes the compiler to create an executable Windows-based application" +complete -c vbc -o "t:appcontainerexe" -o "target:appcontainerexe" -d "Causes the compiler to create an executable Windows-based application that must be run in an app container" +complete -c vbc -o "t:winmdobj" -o "target:winmdobj" -d "Causes the compiler to create an intermediate file that you can convert to a Windows Runtime binary (.winmd) file" + +# .NET assemblies +complete -c vbc -o "addmodule:" -d "Causes the compiler to make all type information from the specified file(s) available to the project you are currently compiling" +complete -c vbc -o delaysign -o "delaysign+" -d "Specifies whether the assembly will be fully or partially signed" +complete -c vbc -o "delaysign-" -d "Disable -delaysign" +complete -c vbc -o "imports:" -d "Imports a namespace from a specified assembly" +complete -c vbc -o "keycontainer:" -d "Specifies a key container name for a key pair to give an assembly a strong name" +complete -c vbc -o "keyfile:" -d "Specifies a file containing a key or key pair to give an assembly a strong name" +complete -c vbc -o "libpath:" -d "Specifies the location of assemblies referenced by the -reference option" +complete -c vbc -o "r:" -o "reference:" -d "Imports metadata from an assembly" +complete -c vbc -o "moduleassemblyname:" -d "Specifies the name of the assembly that a module will be a part of" +complete -c vbc -o "a:" -o "analyzer:" -d "Run the analyzers from this assembly" +complete -c vbc -o "additionalfile:" -d "Names additional files that don't directly affect code generation but may be used by analyzers for producing errors or warnings" + +# Debugging/error checking +complete -c vbc -o "bugreport:" -d "Creates a file that contains information that makes it easy to report a bug" + +complete -c vbc -o debug -o "debug+" -d "Produces debugging information" +for arguments in full pdbonly + complete -c vbc -o "debug:$arguments" -d "Produces debugging information" +end +complete -c vbc -o "debug-" -d "Disable -debug" + +complete -c vbc -o nowarn -o "nowarn:" -d "Suppresses the compiler's ability to generate warnings" +complete -c vbc -o quiet -d "Prevents the compiler from displaying code for syntax-related errors and warnings" +complete -c vbc -o removeintchecks -o "removeintchecks+" -d "Disables integer overflow checking" +complete -c vbc -o "removeintchecks-" -d "Disable -removeintchecks" +complete -c vbc -o warnaserror -o "warnaserror:" -o "warnaserror+" -o "warnaserror+:" -d "Promotes warnings to errors" +complete -c vbc -o "warnaserror-" -o "warnaserror-:" -d "Disable -warnaserror" +complete -c vbc -o "ruleset:" -d "Specify a ruleset file that disables specific diagnostics" + +# Help +complete -c vbc -s "?" -o help -d "Displays the compiler options" + +# Language +complete -c vbc -o "langversion:?" -d "Display the allowed values for language version" +complete -c vbc -o "langversion:default" -d "Specify latest major version as language version" +complete -c vbc -o "langversion:latest" -d "Specify latest version (including minor releases) as language version" +for version_number in (seq 9 15) + switch $version_number + case (seq 9 12) 14 + complete -c vbc -o "langversion:$version_number" -d "Specify $version_number as language version" + complete -c vbc -o "langversion:$version_number.0" -d "Specify $version_number.0 as language version" + case 15 + complete -c vbc -o "langversion:$version_number" -d "Specify $version_number as language version" + complete -c vbc -o "langversion:$version_number.0" -d "Specify $version_number.0 as language version" + complete -c vbc -o "langversion:$version_number.3" -d "Specify $version_number.3 as language version" + complete -c vbc -o "langversion:$version_number.5" -d "Specify $version_number.5 as language version" + end +end + +complete -c vbc -o optionexplicit -o "optionexplicit+" -d "Enforces explicit declaration of variables" +complete -c vbc -o "optionexplicit-" -d "Disable -optionexplicit" +complete -c vbc -o optionstrict -o "optionstrict+" -o "optionstrict:" -d "Enforces strict type semantics" +complete -c vbc -o "optionstrict-" -d "Disable -optionstrict" + +for arguments in binary text + complete -c vbc -o "optioncompare:$arguments" -d "Specifies whether string comparisons should be binary or use locale-specific text semantics" +end + +complete -c vbc -o optioninfer -o "optioninfer+" -d "Enables the use of local type inference in variable declarations" +complete -c vbc -o "optioninfer-" -d "Disable -optioninfer" + +# Preprocessor +complete -c vbc -o "d:" -o "define:" -d "Defines symbols for conditional compilation" + +# Resources +complete -c vbc -o "linkres:" -o "linkresource:" -d "Creates a link to a managed resource" +complete -c vbc -o "res:" -o "resource:" -d "Embeds a managed resource in an assembly" +complete -c vbc -o "win32icon:" -d "Inserts an .ico file into the output file" +complete -c vbc -o "win32resource:" -d "Inserts a Win32 resource into the output file" + +# Miscellaneous +complete -c vbc -o "baseaddress:" -d "Specifies the base address of a DLL" +complete -c vbc -o "codepage:" -d "Specifies the code page to use for all source code files in the compilation" + +for arguments in prompt queue send none + complete -c vbc -o "errorreport:$arguments" -d "Specifies how the Visual Basic compiler should report internal compiler errors" +end + +complete -c vbc -o highentropyva -o "highentropyva+" -d "Tells the Windows kernel whether a particular executable supports high entropy Address Space Layout Randomization (ASLR)" +complete -c vbc -o "highentropyva-" -d "Disable -highentropyva" +complete -c vbc -o "m:" -o "main:" -d "Specifies the class that contains the Sub Main procedure to use at startup" +complete -c vbc -o noconfig -d "Do not compile with Vbc.rsp" +complete -c vbc -o nostdlib -d "Causes the compiler not to reference the standard libraries" +complete -c vbc -o nowin32manifest -d "Instructs the compiler not to embed any application manifest into the executable file" +complete -c vbc -o "platform:x86" -d "Specify x86 as the processor platform the compiler targets for the output file" +complete -c vbc -o "platform:x64" -d "Specify AMD64 or EM64T as the processor platform the compiler targets for the output file" +complete -c vbc -o "platform:Itanium" -d "Specify Itanium as the processor platform the compiler targets for the output file" +complete -c vbc -o "platform:arm" -d "Specify ARM as the processor platform the compiler targets for the output file" +complete -c vbc -o "platform:anycpu" -d "Specify any platform as the processor platform the compiler targets for the output file (default)" +complete -c vbc -o "platform:anycpu32bitpreferred" -d "Specify any platform as the processor platform the compiler targets for the output file" +complete -c vbc -o "recurse:" -d "Searches subdirectories for source files to compile" +complete -c vbc -o "rootnamespace:" -d "Specifies a namespace for all type declarations" +complete -c vbc -o "sdkpath:" -d "Specifies the location of Mscorlib.dll and Microsoft.VisualBasic.dll" + +complete -c vbc -o "vbruntime:" -d "Specifies that the compiler should compile without a reference to the Visual Basic Runtime Library, or with a reference to a specific runtime library" +for arguments in - + "*" + complete -c vbc -o "vbruntime:$arguments" -d "Specifies that the compiler should compile without a reference to the Visual Basic Runtime Library, or with a reference to a specific runtime library" +end + +complete -c vbc -o "win32manifest:" -d "Identifies a user-defined Win32 application manifest file to be embedded into a project's portable executable (PE) file" +complete -c vbc -o parallel -o "parallel+" -d "Specifies whether to use concurrent build" +complete -c vbc -o "parallel-" -d "Disable -parallel" +complete -c vbc -o "checksumalgorithm:SHA1" -d "Specify SHA1 as the algorithm for calculating the source file checksum stored in PDB (default)" +complete -c vbc -o "checksumalgorithm:SHA256" -d "Specify SHA256 as the algorithm for calculating the source file checksum stored in PDB"