=============================================================================== ALE C# Integration *ale-cs-options* =============================================================================== mcs *ale-cs-mcs* The mcs linter checks the syntax of the '*.cs' file loaded in the current buffer only. It uses the --parse option of the mcs compiler and implicitly sets the -unsafe flag. 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 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 ('*.dll') files can be specified using the |g:ale_cs_mcsc_assembly_path| or |b:ale_cs_mcsc_assembly_path| variable. The additional assembly files ('*.dll') can be included through the |g:ale_cs_mcsc_assemblies| or |b:ale_cs_mcsc_assemblies| parameter. NOTE: mcs compiles sources in multiple phases. It stops compilation after finding errors during the current phase. For example assume a file named 'FileWithTypeError.cs' is edited and saved which contains a Type error. In the same directory tree a file named 'FileWithSyntaxError.cs' exists which contains a syntax error (eg.: a missing '{'). In that case mcs and thus mcsc linter will stop after the syntax check phase is finished and report the syntax error in the file 'FileWithSyntaxError.cs'. The Type error in the file 'FileWithTypeError.cs is not seen jet. The only possibility to find the error in in 'FileWithTypeError.cs' is to fix the syntax error in 'FileWithSyntaxError.cs' first. After saving mcs will successfully pass the syntax check phase and advance to the next compilation phase at which the Type error hidden in 'FileWithTypeError.cs' is found and now can be indicated by ale. g:ale_cs_mcsc_options *g:ale_cs_mcsc_options* *b:ale_cs_mcsc_options* Type: |String| Default: `''` This parameter can be used to define additional flags and parameters independent of the source tree to be linted. The specified string is directly passed to mcs compiler without any further change. For example, to add the dotnet package which is not added per default let g:ale_cs_mcs_options = '-pkg:dotnet' NOTE: The mcs -unsafe option is included implicitly per default. Therefore it is not necessary to specify it explicitly through the |g:ale_cs_mcsc_options| or |b:ale_cs_mcsc_options| parameter. 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 empty the current working directory is 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 ('*.dll') 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. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: