Coc.nvim: Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ тСкстового Π»ΠΈΠ½Ρ‚Π΅Ρ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Alex ΠΈ Proselint for Writers

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 4 июн. 2020  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: neoclide/coc.nvim

Π’Π°Ρˆ запрос Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ связан с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ?
Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ alex ΠΈ proselint Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ свои записи, Π½ΠΎ я всСгда Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Ρ‹Π²Π°ΡŽΡΡŒ Π² этом, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· vim ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² Ρ„Π°ΠΉΠ»Π΅ сам ΠΏΠΎ сСбС, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ нСэффСктивСн ΠΏΡ€ΠΈ написании Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ тСкста. Π― Π΄ΡƒΠΌΠ°Π» ΠΎΠ± ALE ΠΈΠ»ΠΈ синтастикС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΊΠ°ΠΊ сказано Π² README для alex ΠΈ proselint ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΈΡ… использования Π² vim, Π½ΠΎ я Π½Π΅ Ρ…ΠΎΡ‡Ρƒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ для Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для тСкста, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ я люблю ΠΊΠΎΠΊ большС для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ.

ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅
Π― Π΄ΡƒΠΌΠ°ΡŽ, Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ, Ссли Π±Ρ‹ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ смог Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ настройку языкового сСрвСра coc-settings.json для исполняСмого Ρ„Π°ΠΉΠ»Π° alex ΠΈΠ»ΠΈ proselint . Π•Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³Π° тСкста, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ coc-clangd ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ clangd .

ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ рассмотрСли
Как я ΡƒΠΆΠ΅ сказал, я ΠΏΠΎΠ΄ΡƒΠΌΠ°Π» ΠΎΠ± ALE ΠΈ синтастикС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΏΠΎ словам README для alex ΠΈ proselint ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ. Но я Π½Π΅ смог Π½Π°ΠΉΡ‚ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π½Π° github для этого, ΠΈ снова ΠΌΠ½Π΅ Π½Π΅ Π½ΡƒΠΆΠ½Π° другая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для тСкстов, Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‰ΠΈΡ… ΠΌΠΎΠΉ vim.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ контСкст
Помимо alex ΠΈ proselint Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ GNU style ΠΈ diction ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡƒΡ‚, Π½ΠΎ я Π»ΠΈΡ‡Π½ΠΎ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ alex ΠΈ proselint это (Edit: это ... Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, поэтому я Π΄ΠΎΠ»ΠΆΠ΅Π½ тСкст ΠΏΡ‹Π»Π΅Π½ΠΈΠ΅) Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― сдСлал этот ΠΊΠΎΠ½Ρ„ΠΈΠ³ для 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 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, https://www.npmjs.com/package/coc-diagnostic ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Бпасибо @chemzqm Π·Π° эту ссылку.
МнС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ proselint Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ coc-diagnostic с этой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ:

"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 diction , style ΠΈ alex . Π― ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ здСсь, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΊΠΎΠ½Ρ‡Ρƒ.

Π― сдСлал этот ΠΊΠΎΠ½Ρ„ΠΈΠ³ для 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 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ