mirror of
https://github.com/amix/vimrc
synced 2024-12-14 14:12:33 +00:00
198 lines
7.7 KiB
Text
198 lines
7.7 KiB
Text
===============================================================================
|
|
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
|
|
|
|
|
|
===============================================================================
|
|
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 including 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|
|
|
variabl and all sub directories.
|
|
|
|
It will in future replace the |ale-cs-mcs| and |ale-cs-mcsc| linters as both
|
|
utilizer the mcsc compiler which according to mono porject ist further
|
|
developed and as of writint these lines only receives maintenance updates.
|
|
The down is that the csc compiler does not support the -sytax option any more
|
|
and therefore |ale-cs-csc| linter doese not offer any as you type syntax
|
|
checking like the |ale-cs-mcsc| linter doesn't.
|
|
|
|
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.
|
|
|
|
|
|
g:ale_cs_csc_options *g:ale_cs_csc_options*
|
|
*b: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`.
|
|
|
|
|
|
g:ale_cs_csc_source *g:ale_cs_csc_source*
|
|
*b: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.
|
|
|
|
|
|
g:ale_cs_csc_assembly_path *g:ale_cs_csc_assembly_path*
|
|
*b: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.
|
|
|
|
|
|
g:ale_cs_csc_assemblies *g:ale_cs_csc_assemblies*
|
|
*b: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',
|
|
\]
|
|
<
|
|
|
|
===============================================================================
|
|
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.
|
|
|
|
|
|
g:ale_cs_mcs_options *g:ale_cs_mcs_options*
|
|
*b: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.
|
|
|
|
|
|
g:ale_cs_mcsc_options *g:ale_cs_mcsc_options*
|
|
*b: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`.
|
|
|
|
|
|
g:ale_cs_mcsc_source *g:ale_cs_mcsc_source*
|
|
*b: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.
|
|
|
|
|
|
g:ale_cs_mcsc_assembly_path *g:ale_cs_mcsc_assembly_path*
|
|
*b: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.
|
|
|
|
|
|
g:ale_cs_mcsc_assemblies *g:ale_cs_mcsc_assemblies*
|
|
*b: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:
|