praem90 / nvim-phpcsf

A simple nvim plugin wrapper for both phpcs and phpcbf.
https://praem90.github.io/nvim-phpcsf/
14 stars 3 forks source link

Unexpected character as soon as phpcs.xml is added #8

Closed mokorana closed 1 month ago

mokorana commented 2 months ago
Error executing vim.schedule lua callback: ...ko/.local/share/nvim/lazy/nvim-phpcsf/lua/phpcs/json.lua:175: unexpected character '.' at line 1 col 1
stack traceback:
    [C]: in function 'error'
    ...ko/.local/share/nvim/lazy/nvim-phpcsf/lua/phpcs/json.lua:175: in function 'decode_error'
    ...ko/.local/share/nvim/lazy/nvim-phpcsf/lua/phpcs/json.lua:357: in function 'parse'
    ...ko/.local/share/nvim/lazy/nvim-phpcsf/lua/phpcs/json.lua:364: in function 'decode'
    ...ko/.local/share/nvim/lazy/nvim-phpcsf/lua/phpcs/init.lua:107: in function 'parse_json'
    ...ko/.local/share/nvim/lazy/nvim-phpcsf/lua/phpcs/init.lua:100: in function 'publish_diagnostic'
    ...ko/.local/share/nvim/lazy/nvim-phpcsf/lua/phpcs/init.lua:47: in function ''
    vim/_editor.lua: in function <vim/_editor.lua:0>
praem90 commented 2 months ago

Could you please share me your phpcs.xml file

mokorana commented 2 months ago

Yeah, sure! I already tried deleting parts of it but nothing didn't change. Even an empty file caused the error.

<?xml version="1.0"?>
<ruleset name="WordPress-Core">
    <!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
    <!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards -->
    <!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/wiki -->
    <!-- See https://github.com/wimg/PHPCompatibility -->

    <!-- Set a description for this ruleset. -->
    <description>A custom set of code standard rules to check for WordPress themes.</description>

    <!-- Pass some flags to PHPCS:
         p flag: Show progress of the run.
         s flag: Show sniff codes in all reports.
         v flag: Print verbose output.
         n flag: Do not print warnings.
     -->
     <arg value="psvn"/>

     <!-- Only check the PHP, CSS and SCSS files. JS files are checked separately with JSCS and JSHint. -->
     <arg name="extensions" value="php,css,scss/css"/>

     <!-- Check all files in this directory and the directories below it. -->
     <file>.</file>

     <!-- Include the WordPress ruleset, with exclusions. -->
     <rule ref="WordPress">

        <!-- Strict intendation rules we want to exclude -->
        <exclude name="Generic.WhiteSpace.ScopeIndent.IncorrectExact" />
        <exclude name="Generic.WhiteSpace.ScopeIndent.Incorrect" />
        <exclude name="Generic.WhiteSpace.DisallowSpaceIndent.SpacesUsed" />
        <exclude name="PEAR.Functions.FunctionCallSignature.Indent" />
        <exclude name="WordPress.Arrays.ArrayIndentation.ItemNotAligned" />
        <exclude name="WordPress.Arrays.ArrayIndentation.MultiLineArrayItemNotAligned" />
        <exclude name="WordPress.WhiteSpace.DisallowInlineTabs.NonIndentTabsUsed" />
        <exclude name="WordPress.Arrays.ArrayIndentation.CloseBraceNotAligned" />
        <exclude name="PEAR.Functions.FunctionCallSignature.OpeningIndent" />

        <!-- Don't require too strict inline commenting, it's a good thing to documentate, let's not make it frustrating -->
        <exclude name="Squiz.Commenting.FunctionComment.WrongStyle" />
        <exclude name="Squiz.Commenting.ClassComment.WrongStyle" />
        <exclude name="Squiz.Commenting.InlineComment.InvalidEndChar" />
        <exclude name="Squiz.Commenting.FunctionComment.Missing" />
        <exclude name="Squiz.Commenting.FunctionComment.MissingParamTag" />
        <exclude name="Squiz.Commenting.InlineComment.SpacingAfter" />
        <exclude name="Squiz.Commenting.FileComment.Missing" />
        <exclude name="Squiz.Commenting.LongConditionClosingComment.Missing" />
        <exclude name="Squiz.Commenting.FunctionComment.ParamCommentFullStop" />

        <!-- General code style related excludes -->
        <exclude name="Squiz.PHP.DisallowMultipleAssignments.Found" />
        <exclude name="Squiz.PHP.EmbeddedPhp.MultipleStatements" />
        <exclude name="Squiz.PHP.EmbeddedPhp.ContentAfterOpen" />
        <exclude name="Squiz.PHP.EmbeddedPhp.ContentBeforeEnd" />
        <exclude name="Generic.Formatting.DisallowMultipleStatements.SameLine" />
        <exclude name="WordPress.Arrays.ArrayDeclarationSpacing.AssociativeKeyFound" />
        <exclude name="WordPress.Arrays.ArrayDeclarationSpacing.AssociativeArrayFound" />
        <exclude name="Squiz.ControlStructures.ControlSignature.NewlineAfterOpenBrace" />
        <exclude name="PHPCompatibility.PHP.NewFunctionArrayDereferencing.Found" />
        <exclude name="Generic.Arrays.DisallowShortArraySyntax" />

        <!-- General WordPress stuff we like to overrule -->
        <exclude name="WordPress.Files.FileName.InvalidClassFileName" />

        <!-- Very strict VIP/discouraged rules that are not needed -->
        <exclude name="WordPress.XSS.EscapeOutput.OutputNotEscaped" />
        <exclude name="WordPress.Functions.DontExtract.extract_extract" />
        <exclude name="Generic.Functions.FunctionCallArgumentSpacing.TooMuchSpaceAfterComma" />
        <exclude name="Generic.Commenting.DocComment.MissingShort" />
        <exclude name="Generic.Commenting.DocComment.SpacingBeforeTags" />
        <exclude name="Squiz.PHP.EmbeddedPhp.NoSemicolon" />
        <exclude name="PHPCompatibility.PHP.NewClosure.Found" />
        <exclude name="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket" />
        <exclude name="PEAR.Functions.FunctionCallSignature.CloseBracketLine" />
        <exclude name="PEAR.Functions.FunctionCallSignature.MultipleArguments" />
        <exclude name="WordPress.PHP.DontExtract.extract_extract" />

        <!-- Translations related, not always necessary, too strict -->
        <exclude name="WordPress.WP.I18n.MissingTranslatorsComment" />

        <!-- EditorConfig makes sure this happens anyway & false positives happen with this -->
        <exclude name="Generic.Files.EndFileNewline.NotFound" />

        <!-- Many times when developing a customer case we have placeholders for SVG includes, so unnecessary error reports happen with this rule -->
        <exclude name="Squiz.PHP.EmbeddedPhp.Empty" />

        <!-- Other useful excludes -->
        <exclude name="WordPress.Arrays.MultipleStatementAlignment.DoubleArrowNotAligned" />
        <exclude name="WordPress.WP.GlobalVariablesOverride.Prohibited" />
        <exclude name="PEAR.NamingConventions.ValidClassName.StartWithCapital" />
        <exclude name="WordPress.Security.ValidatedSanitizedInput.MissingUnslash" />
        <exclude name="Generic.ControlStructures.InlineControlStructure.NotAllowed" />
        <exclude name="Squiz.PHP.EmbeddedPhp.ContentBeforeOpen" />
        <exclude name="Generic.Formatting.MultipleStatementAlignment.NotSameWarning" />
        <exclude name="PEAR.Files.IncludingFile.UseRequire" />
        <exclude name="WordPress.Arrays.MultipleStatementAlignment.DoubleArrowNotAligned" />
        <exclude name="WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode" />
        <exclude name="WordPress.DB.SlowDBQuery.slow_db_query_tax_query" />
        <exclude name="WordPress.PHP.DisallowShortTernary.Found" />

        <!-- Mokostack based -->
        <exclude name="Squiz.PHP.CommentedOutCode.Found" />
        <exclude name="Squiz.Commenting.FileComment.MissingPackageTag" />
        <exclude name="WordPress.PHP.IniSet.display_errors_Blacklisted" />
        <exclude name="WordPress.PHP.YodaConditions.NotYoda" />
        <exclude name="WordPress.WP.AlternativeFunctions.parse_url_parse_url" />
        <exclude name="Squiz.Commenting.ClassComment.Missing" />
        <exclude name="Squiz.Commenting.VariableComment.Missing" />
        <exclude name="Universal.Arrays.DisallowShortArraySyntax.Found" />
        <exclude name="Universal.WhiteSpace.PrecisionAlignment.Found" />
        <exclude name="WordPress.Files.FileName.NotHyphenatedLowercase" />
        <exclude name="Squiz.Commenting.VariableComment.WrongStyle" />
        <exclude name="PSR2.Classes.PropertyDeclaration.Underscore" />
        <exclude name="Universal.Operators.DisallowShortTernary.Found" />
    </rule>

    <!-- Include sniffs for PHP cross-version compatibility. -->
    <config name="testVersion" value="8.3"/>
    <rule ref="PHPCompatibility"/>
</ruleset>
praem90 commented 1 month ago

@mokorana Hope this helps https://github.com/praem90/nvim-phpcsf/issues/9#issuecomment-2164326831

praem90 commented 1 month ago

Hope the latest fix solves the issue