Coc.nvim: Agregue compatibilidad con Text Linter como Alex y Proselint para escritores

Creado en 4 jun. 2020  ·  3Comentarios  ·  Fuente: neoclide/coc.nvim

¿Su solicitud de función está relacionada con un problema?
He estado usando alex y proselint para verificar mi escritura por un tiempo, pero siempre me desanimo a hacerlo porque tengo que salir de vim y ejecutar el ejecutable en el archivo por sí solo, lo cual es realmente ineficaz al escribir un texto extenso. He pensado en ALE o syntastic, que el README para alex y proselint dice que se pueden usar para usarlos dentro de vim, pero no quiero instalar otro complemento de linting solo para texto porque me encanta coc más para otras cosas.

Describe la solución que te gustaría
Creo que sería bueno si alguien pudiera encontrar una configuración de servidor de idioma coc-settings.json para el ejecutable alex o proselint . Es incluso mejor una extensión para texto como la que usa clangd coc-clangd clangd .

Describe las alternativas que has considerado
Como dije, pensé en ALE y syntastic, que el README para alex y proselint dijo que tiene soporte. Pero no pude encontrar ninguna documentación relevante en github para lograr eso, y nuevamente no quiero otro programa de pelusa solo para textos que hacen que mi vim sea lento.

Contexto adicional
Aparte de alex y proselint también hay cosas como GNU style y diction que funcionarían también, pero yo personalmente creo que alex y proselint es (Editar: son ... ver que es por eso que necesito texto con pelusa) más preciso y detallado.

help wanted

Comentario más útil

Hice esta configuración por alex . Puede que tenga que cambiar el comando dependiendo de cómo lo instaló.

"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"
    }
}

Puede agregar esto a su diagnostic-languageserver.linters para usarlo con coc-diagnostic .
¡Espero eso ayude!

Todos 3 comentarios

Gracias @chemzqm por ese enlace.
Logré que proselint funcionara usando coc-diagnostic con esta configuración:

"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"
        }
    }
}

Todavía estoy trabajando en GNU diction , style y alex . Publicaré las soluciones aquí cuando termine.

Hice esta configuración por alex . Puede que tenga que cambiar el comando dependiendo de cómo lo instaló.

"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"
    }
}

Puede agregar esto a su diagnostic-languageserver.linters para usarlo con coc-diagnostic .
¡Espero eso ayude!

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

iago-lito picture iago-lito  ·  3Comentarios

chemzqm picture chemzqm  ·  3Comentarios

cvlmtg picture cvlmtg  ·  3Comentarios

albertorestifo picture albertorestifo  ·  4Comentarios

skylite21 picture skylite21  ·  3Comentarios