هل طلب الميزة الخاص بك متعلق بمشكلة؟
لقد كنت أستخدم 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
هو (تحرير: هل ... انظر لهذا السبب أحتاج إلى فحص النص) أكثر دقة وتفصيلاً.
ربما قد يساعدك 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
.
آمل أن يساعد!
التعليق الأكثر فائدة
لقد صنعت هذا التكوين مقابل
alex
. قد تضطر إلى تغيير الأمر اعتمادًا على كيفية تثبيته.يمكنك إضافة هذا إلى
diagnostic-languageserver.linters
لاستخدامه معcoc-diagnostic
.آمل أن يساعد!