Coc.nvim: أضف دعم Text Linter مثل Alex و Proselint للكتاب

تم إنشاؤها على ٤ يونيو ٢٠٢٠  ·  3تعليقات  ·  مصدر: neoclide/coc.nvim

هل طلب الميزة الخاص بك متعلق بمشكلة؟
لقد كنت أستخدم alex و proselint للتحقق من كتاباتي لفترة من الوقت ، لكنني دائمًا ما أشعر بالإحباط للقيام بذلك لأنه لا بد لي من الخروج من vim وتشغيل الملف القابل للتنفيذ في الملف بنفسه وهو حقًا غير فعال عند كتابة نص طويل. لقد فكرت في ALE أو syntastic التي يقول README لـ alex و proselint أنه يمكن استخدامها في vim لكنني لا أريد تثبيت مكون إضافي لفحص آخر للنص فقط لأنني أحب كوك أكثر لأشياء أخرى.

صِف الحل الذي تريده
أعتقد أنه سيكون من الجيد أن يتمكن شخص ما من اكتشاف إعداد خادم لغة coc-settings.json للملف القابل للتنفيذ alex أو proselint . أفضل امتدادًا لفحص النص مثل ما يستخدمه coc-clangd clangd .

صِف البدائل التي فكرت فيها
كما قلت ، فكرت في ALE و syntastic التي قالها README مقابل alex و proselint قال أنه يدعم. لكن لم أتمكن من العثور على أي وثائق ذات صلة على github لتحقيق ذلك ، ومرة ​​أخرى لا أريد برنامج فحص آخر فقط للنصوص التي تجعل جهاز vim الخاص بي بطيئًا.

سياق إضافي
بخلاف alex و proselint هناك أيضًا أشياء مثل GNU style و diction والتي ستعمل أيضًا ولكنني شخصياً أعتقد أن alex و proselint هو (تحرير: هل ... انظر لهذا السبب أحتاج إلى فحص النص) أكثر دقة وتفصيلاً.

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 كومينتر

ربما قد يساعدك 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 التقييمات