Coc.nvim: Ajouter le support de Text Linter comme Alex et Proselint pour les écrivains

Créé le 4 juin 2020  ·  3Commentaires  ·  Source: neoclide/coc.nvim

Votre demande de fonctionnalité est-elle liée à un problème?
J'utilise alex et proselint pour vérifier mon écriture depuis un moment, mais je suis toujours découragé de le faire car je dois quitter vim et exécuter l'exécutable sur le fichier par lui-même, ce qui est vraiment inefficace lors de la rédaction d'un long texte. J'ai pensé à ALE ou à la syntaxe que le README pour alex et proselint peut être utilisé pour les utiliser dans vim mais je ne veux pas installer un autre plugin de linting juste pour le texte car j'aime coc plus pour d'autres choses.

Décrivez la solution que vous souhaitez
Je pense que ce serait bien si quelqu'un pouvait trouver une configuration de serveur de langage coc-settings.json pour l'exécutable alex ou proselint . Encore mieux une extension pour le lintage de texte comme ce que coc-clangd utilise clangd .

Décrivez les alternatives que vous avez envisagées
Comme je l'ai dit, j'ai pensé à ALE et à la syntaxe que le README pour alex et proselint dit avoir un support. Mais je n'ai pas trouvé de documentation pertinente sur github pour y parvenir, et encore une fois, je ne veux pas d'un autre programme de linting juste pour les textes ralentissant mon vim.

Contexte supplémentaire
À part alex et proselint il y a aussi des choses comme GNU style et diction qui fonctionneraient aussi bien mais je pense personnellement que alex et proselint est (Edit: sont ... voyez c'est pourquoi j'ai besoin d'un lintage de texte) plus précis et détaillé.

help wanted

Commentaire le plus utile

J'ai créé cette configuration pour alex . Vous devrez peut-être modifier la commande en fonction de la façon dont vous l'avez installée.

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

Vous pouvez l'ajouter à votre diagnostic-languageserver.linters pour l'utiliser avec coc-diagnostic .
J'espère que cela aide!

Tous les 3 commentaires

Peut-être que https://www.npmjs.com/package/coc-diagnostic pourrait vous aider.

Merci @chemzqm pour ce lien.
J'ai réussi à faire fonctionner proselint en utilisant coc-diagnostic avec cette configuration:

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

Je travaille toujours sur GNU diction , style et alex . Je publierai les solutions ici lorsque j'aurai terminé.

J'ai créé cette configuration pour alex . Vous devrez peut-être modifier la commande en fonction de la façon dont vous l'avez installée.

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

Vous pouvez l'ajouter à votre diagnostic-languageserver.linters pour l'utiliser avec coc-diagnostic .
J'espère que cela aide!

Cette page vous a été utile?
0 / 5 - 0 notes