Coc.nvim: 为作家添加Text Linter支持,例如Alex和Proselint

创建于 2020-06-04  ·  3评论  ·  资料来源: neoclide/coc.nvim

您的功能请求是否与问题有关?
我一直在使用alexproselint来检查我的文字一段时间,但是我总是灰心,因为我必须退出vim并独自在文件上运行可执行文件,这确实是写长文本时效率低下。 我考虑过ALE或syntastic,其中alexproselint的README可以在vim中使用它们,但是我不想为文本安装另一个linting插件,因为我喜欢换其他东西。

描述您想要的解决方案
我认为,如果有人可以为alexproselint可执行文件找出coc-settings.json语言服务器设置,那就太好了。 更好的是扩展文本插入功能,例如coc-clangd使用clangd

描述您考虑过的替代方案
正如我所说,我想到了ALE和syntastic,其中alexproselint的自述文件表示支持。 但是我在github上找不到任何相关的文档来实现这一目标,而且我不想再有一个linting程序仅用于使我的vim变慢的文本。

其他背景
除了alexproselint还有类似GNU stylediction也可以使用,但是我个人认为alexproselint(编辑:是...看到这就是为什么我需要文本掉毛的原因)更准确,更详细。

help wanted

最有用的评论

我为alex组成了这个配置。 您可能必须根据安装方式来更改命令。

"alex": {
    "command": "alexjs",
    "debounce": 200,
    "isStderr": true,
    "args": ["--stdin"],
    "offsetLine": 0,
    "offsetColumn": 0,
    "sourceName": "alex.js",
    "formatLines": 1,
    "formatPattern": [
        "^\\s*(\\d+):(\\d+)-(\\d+):(\\d+)\\s{2}([a-z]+)\\s{2}(.*?)\\s{2,}([a-z-]+)\\s{2,}([a-z-]+)$",
        {
            "line": 1,
            "column": 2,
            "endLine": 3,
            "endColumn": 4,
            "security" : 5,
            "message": 6
        }
    ],
    "securities" : {
        "warning": "warning",
        "error": "error"
    }
}

您可以将其添加到diagnostic-languageserver.linters以与coc-diagnostic
希望能帮助到你!

所有3条评论

谢谢@chemzqm的链接。
我设法在此配置下使用coc-diagnostic来使proselint工作:

"diagnostic-languageserver.filetypes": {
    "text": ["proselint"]
},
"diagnostic-languageserver.linters": {
    "proselint": {
        "command": "proselint",
        "isStdout": true,
        "isStderr": false,
        "debounce": 100,
        "args": ["-"],
        "offsetLine": 0,
        "offsetColumn": 0,
        "sourceName": "proselint",
        "formatLines": 1,
        "formatPattern": [
            "^[^:]+:(\\d+):(\\d+):(\\s)(.*)$",
            {
                "line": 1,
                "column": 2,
                "security": 3,
                "message": 4
            }
        ],
        "securities": {
            " ": "info"
        }
    }
}

我仍在使用GNU dictionstylealex 。 完成后,我将在此处发布解决方案。

我为alex组成了这个配置。 您可能必须根据安装方式来更改命令。

"alex": {
    "command": "alexjs",
    "debounce": 200,
    "isStderr": true,
    "args": ["--stdin"],
    "offsetLine": 0,
    "offsetColumn": 0,
    "sourceName": "alex.js",
    "formatLines": 1,
    "formatPattern": [
        "^\\s*(\\d+):(\\d+)-(\\d+):(\\d+)\\s{2}([a-z]+)\\s{2}(.*?)\\s{2,}([a-z-]+)\\s{2,}([a-z-]+)$",
        {
            "line": 1,
            "column": 2,
            "endLine": 3,
            "endColumn": 4,
            "security" : 5,
            "message": 6
        }
    ],
    "securities" : {
        "warning": "warning",
        "error": "error"
    }
}

您可以将其添加到diagnostic-languageserver.linters以与coc-diagnostic
希望能帮助到你!

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

chemzqm picture chemzqm  ·  3评论

zhou13 picture zhou13  ·  3评论

albertorestifo picture albertorestifo  ·  4评论

skylite21 picture skylite21  ·  3评论

lanox picture lanox  ·  3评论