]> git.madduck.net Git - etc/vim.git/blobdiff - .vim/bundle/ale/doc/ale-cs.txt

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Merge commit '76265755a1add77121c8f9dabb3e9bb70fe9a972' as '.vim/bundle/ale'
[etc/vim.git] / .vim / bundle / ale / doc / ale-cs.txt
diff --git a/.vim/bundle/ale/doc/ale-cs.txt b/.vim/bundle/ale/doc/ale-cs.txt
new file mode 100644 (file)
index 0000000..56e071c
--- /dev/null
@@ -0,0 +1,273 @@
+===============================================================================
+ALE C# Integration                                             *ale-cs-options*
+
+In addition to the linters that are provided with ALE, C# code can be checked
+with the OmniSharp plugin. See here: https://github.com/OmniSharp/omnisharp-vim
+
+
+===============================================================================
+clang-format                                               *ale-cs-clangformat*
+
+See |ale-c-clangformat| for information about the available options.
+Note that the C options are also used for C#.
+
+
+===============================================================================
+csc                                                                *ale-cs-csc*
+
+The |ale-cs-csc| linter checks for semantic errors when files are opened or
+saved.
+
+See |ale-lint-file-linters| for more information on linters which do not check
+for problems while you type.
+
+The csc linter uses the mono csc compiler, providing full C# 7 and newer
+support, to generate a temporary module target file (/t:module). The module
+includes all '*.cs' files contained in the directory tree rooted at the path
+defined by the |g:ale_cs_csc_source| or |b:ale_cs_csc_source| variable and all
+sub directories.
+
+It will in future replace the |ale-cs-mcs| and |ale-cs-mcsc| linters as both
+utilize the mcsc compiler which, according to the mono project, is no longer
+actively developed, and only receives maintenance updates. However, because
+the csc compiler does not support the -syntax option, this linter does not
+offer any as-you-type syntax checking, similar to the |ale-cs-mcsc| linter.
+
+The paths to search for additional assembly files can be specified using the
+|g:ale_cs_csc_assembly_path| or |b:ale_cs_csc_assembly_path| variables.
+
+NOTE: ALE will not find any errors in files apart from syntax errors if any
+one of the source files contains a syntax error. Syntax errors must be fixed
+first before other errors will be shown.
+
+
+-------------------------------------------------------------------------------
+Options
+                                                   *ale-options.cs_csc_options*
+                                                         *g:ale_cs_csc_options*
+                                                         *b:ale_cs_csc_options*
+cs_csc_options
+g:ale_cs_csc_options
+  Type: |String|
+  Default: `''`
+
+  This option can be set to pass additional arguments to the `csc` compiler.
+
+  For example, to add the dotnet package which is not added per default: >
+
+      let g:ale_cs_mcs_options = ' /warn:4 /langversion:7.2'
+<
+  NOTE: the `/unsafe` option is always passed to `csc`.
+
+                                                    *ale-options.cs_csc_source*
+                                                          *g:ale_cs_csc_source*
+                                                          *b:ale_cs_csc_source*
+cs_csc_source
+g:ale_cs_csc_source
+  Type: |String|
+  Default: `''`
+
+  This variable defines the root path of the directory tree searched for the
+  '*.cs' files to be linted. If this option is empty, the source file's
+  directory will be used.
+
+  NOTE: Currently it is not possible to specify sub directories and
+  directory sub trees which shall not be searched for *.cs files.
+
+                                             *ale-options.cs_csc_assembly_path*
+                                                   *g:ale_cs_csc_assembly_path*
+                                                   *b:ale_cs_csc_assembly_path*
+cs_csc_assembly_path
+g:ale_cs_csc_assembly_path
+  Type: |List|
+  Default: `[]`
+
+  This variable defines a list of path strings to be searched for external
+  assembly files. The list is passed to the csc compiler using the `/lib:`
+  flag.
+
+                                                *ale-options.cs_csc_assemblies*
+                                                      *g:ale_cs_csc_assemblies*
+                                                      *b:ale_cs_csc_assemblies*
+cs_csc_assemblies
+g:ale_cs_csc_assemblies
+  Type: |List|
+  Default: `[]`
+
+  This variable defines a list of external assembly (*.dll) files required
+  by the mono mcs compiler to generate a valid module target. The list is
+  passed the csc compiler using the `/r:` flag.
+
+  For example: >
+
+  " Compile C# programs with the Unity engine DLL file on Mac.
+  let g:ale_cs_mcsc_assemblies = [
+  \ '/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll',
+  \ 'path-to-unityproject/obj/Debug',
+  \]
+<
+
+===============================================================================
+cspell                                                          *ale-cs-cspell*
+
+See |ale-cspell-options|
+
+
+===============================================================================
+dotnet-format                                            *ale-cs-dotnet-format*
+
+
+-------------------------------------------------------------------------------
+Installation
+
+Installing .NET SDK should probably ensure that `dotnet` is in your `$PATH`.
+For .NET 6 the `dotnet format` tool is already included in the .NET SDK. For
+.NET 5 or below you will have to manually install it using the instructions
+from listed in this repository: https://github.com/dotnet/format
+
+
+-------------------------------------------------------------------------------
+Options
+                                      *ale-options.cs_dotnet_format_executable*
+                                            *g:ale_cs_dotnet_format_executable*
+                                            *b:ale_cs_dotnet_format_executable*
+cs_dotnet_format_executable
+g:ale_cs_dotnet_format_executable
+  Type: |String|
+  Default: `'dotnet'`
+
+  This variable can be set to specify an absolute path to the
+  `dotnet` executable (or to specify an alternate executable).
+
+                                         *ale-options.cs_dotnet_format_options*
+                                               *g:ale_cs_dotnet_format_options*
+                                               *b:ale_cs_dotnet_format_options*
+cs_dotnet_format_options
+g:ale_cs_dotnet_format_options
+  Type: |String|
+  Default: `''`
+
+  This variable can be set to pass additional options to the `dotnet format`
+  fixer.
+
+
+===============================================================================
+mcs                                                                *ale-cs-mcs*
+
+The `mcs` linter looks only for syntax errors while you type. See
+|ale-cs-mcsc| for the separately configured linter for checking for semantic
+errors.
+
+
+-------------------------------------------------------------------------------
+Options
+                                                   *ale-options.cs_mcs_options*
+                                                         *g:ale_cs_mcs_options*
+                                                         *b:ale_cs_mcs_options*
+cs_mcs_options
+g:ale_cs_mcs_options
+  Type: |String|
+  Default: `''`
+
+  This variable can be changed to pass additional flags given to mcs.
+
+  NOTE: The -unsafe flag is selected implicitly and thus does not need to be
+  explicitly included in the |g:ale_cs_mcs_options| or |b:ale_cs_mcs_options|
+  parameter.
+
+
+===============================================================================
+mcsc                                                              *ale-cs-mcsc*
+
+The mcsc linter checks for semantic errors when files are opened or saved See
+|ale-lint-file-linters| for more information on linters which do not check for
+problems while you type.
+
+The mcsc linter uses the mono mcs compiler to generate a temporary module
+target file (-t:module). The module includes including all '*.cs' files
+contained in the directory tree rooted at the path defined by the
+|g:ale_cs_mcsc_source| or |b:ale_cs_mcsc_source| variable.  variable and all
+sub directories.
+
+The paths to search for additional assembly files can be specified using the
+|g:ale_cs_mcsc_assembly_path| or |b:ale_cs_mcsc_assembly_path| variables.
+
+NOTE: ALE will not find any errors in files apart from syntax errors if any
+one of the source files contains a syntax error. Syntax errors must be fixed
+first before other errors will be shown.
+
+
+-------------------------------------------------------------------------------
+Options
+                                                  *ale-options.cs_mcsc_options*
+                                                        *g:ale_cs_mcsc_options*
+                                                        *b:ale_cs_mcsc_options*
+cs_mcsc_options
+g:ale_cs_mcsc_options
+  Type: |String|
+  Default: `''`
+
+  This option can be set to pass additional arguments to the `mcs` compiler.
+
+  For example, to add the dotnet package which is not added per default: >
+
+  let g:ale_cs_mcs_options = '-pkg:dotnet'
+<
+  NOTE: the `-unsafe` option is always passed to `mcs`.
+
+                                                   *ale-options.cs_mcsc_source*
+                                                         *g:ale_cs_mcsc_source*
+                                                         *b:ale_cs_mcsc_source*
+cs_mcsc_source
+g:ale_cs_mcsc_source
+  Type: |String|
+  Default: `''`
+
+  This variable defines the root path of the directory tree searched for the
+  '*.cs' files to be linted. If this option is empty, the source file's
+  directory will be used.
+
+  NOTE: Currently it is not possible to specify sub directories and
+  directory sub trees which shall not be searched for *.cs files.
+
+                                            *ale-options.cs_mcsc_assembly_path*
+                                                  *g:ale_cs_mcsc_assembly_path*
+                                                  *b:ale_cs_mcsc_assembly_path*
+cs_mcsc_assembly_path
+g:ale_cs_mcsc_assembly_path
+  Type: |List|
+  Default: `[]`
+
+  This variable defines a list of path strings to be searched for external
+  assembly files. The list is passed to the mcs compiler using the `-lib:`
+  flag.
+
+                                               *ale-options.cs_mcsc_assemblies*
+                                                     *g:ale_cs_mcsc_assemblies*
+                                                     *b:ale_cs_mcsc_assemblies*
+cs_mcsc_assemblies
+g:ale_cs_mcsc_assemblies
+  Type: |List|
+  Default: `[]`
+
+  This variable defines a list of external assembly (*.dll) files required
+  by the mono mcs compiler to generate a valid module target. The list is
+  passed the mcs compiler using the `-r:` flag.
+
+  For example: >
+
+  " Compile C# programs with the Unity engine DLL file on Mac.
+  let g:ale_cs_mcsc_assemblies = [
+  \ '/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll',
+  \ 'path-to-unityproject/obj/Debug',
+  \]
+<
+
+===============================================================================
+uncrustify                                                  *ale-cs-uncrustify*
+
+See |ale-c-uncrustify| for information about the available options.
+
+
+===============================================================================
+  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: