From e1edf490d610d29c0574443d63abd42dd67aad7c Mon Sep 17 00:00:00 2001 From: Sergey Matveev <stargrave@stargrave.org> Date: Tue, 31 Jan 2023 17:35:26 +0300 Subject: [PATCH] =?utf8?q?=D0=A1=D0=BC=D0=B5=D0=BD=D0=B0=20LSP=20=D0=BF?= =?utf8?q?=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0=20=D0=B4=D0=BB=D1=8F=20Vim?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit https://github.com/yegappan/lsp http://www.git.stargrave.org/?p=vim-lsp.git;a=commitdiff;h=a682ee9b6215c9155f170f6b35a972aa14a2999f ÐолÑÑе года иÑполÑзÑÑ vim-lsc плагин (c89a9164128730eb856b89e4f99970a6bfb7b7f4). РполноÑÑÑÑ Ð¸Ð¼ доволен. Ðока не Ñвидел ÑÑо в обновлÑнном Vim поÑвилаÑÑ Ð²ÑÑÑÐ¾ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑжка LSP пÑоÑокола. Ðо ÑÑÑи Ñо ÑÑо пÑоÑÑо помоÑник оÑпÑавлÑÑÑий ÑамоÑÑоÑÑелÑно HTTP заголовки и паÑÑÑÑий/ÑоздаÑÑий JSON-RPC оÑвеÑÑ Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑами. ÐоÑмоÑÑел можно ли Ñ Ð½ÑÐ»Ñ Ð¼Ð½Ðµ ÑамоÑÑоÑÑелÑно напиÑаÑÑ LSP плагин иÑполÑзÑÑ Ð²ÑÑ ÑÑо. ÐеÑвÑе Ñаги взаимодейÑÑÐ²Ð¸Ñ Ð¿Ð¾Ð»ÑÑилиÑÑ. СпеÑиÑикаÑÐ¸Ñ LSP Ð¾Ñ Microsoft пÑекÑаÑно ÑиÑаеÑÑÑ Ð¸ под Lynx-ом. Ðо вообÑе пÑоÑокол ÑÐ¼ÐµÐµÑ Ð´Ð¾Ð²Ð¾Ð»Ñно много вÑего, как и ÑеÑвеÑÑ Ñипа clangd и gopls. ÐиÑаÑÑ Ð²ÑÑ Ñ Ð½ÑÐ»Ñ Ñ Ð±Ñ Ñмог, но ÑÑо не мало. Рвнезапно наÑÑл ÑÑо Ñже напиÑали не Ñо ÑÑо LSP плагин Ñ Ð¸ÑполÑзованием поддеÑжки Ñамого Vim-а, а вообÑе вÑеÑело на vim9script. ÐопÑобовал и пока замеÑаний неÑ. Ðолее Ñого, он оÑÑÑимо более ÑиÑаÑÑÑй Ñем vim-lsc, Ñ Ð¾ÑÑ Ñ Ð¸ не ÑвеÑен заÑем мне вÑÑ ÑÑо надо. ÐÑполÑзÑÐµÑ Ð¸ÑклÑÑиÑелÑно ÑоднÑе возможноÑÑи Vim-а. ÐпеÑвÑе Ñвидел "virtual text" в дейÑÑвии: LSP/плагин допиÑÑваÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð°ÑгÑменÑов из ÑигнаÑÑÑÑ ÑÑнкÑии, Ñ Ð¾ÑÑ Ð½Ð° ÑÑÐ¾Ñ ÑекÑÑ Ð½ÐµÐ»ÑÐ·Ñ Ð²ÑÑаÑÑ Ð¸Ð»Ð¸ оÑÑедакÑиÑоваÑÑ. Ðе понÑл еÑÑ Ð¼ÐµÑÐ°ÐµÑ Ð»Ð¸ ÑÑо или неÑ, но пока пÑÑÑÑ Ð±ÑдеÑ. РабоÑÐ°ÐµÑ ÑÑо вÑÑ Ð¾ÑÑÑимо бÑÑÑÑее. ХоÑÑ Ñ Ð´Ñмал ÑÑо вÑÑ ÑпиÑаÑÑÑÑ Ñже должно в Ñам LSP-ÑеÑвеÑ. Ðо Ð½ÐµÑ -- ÑÑÑ Ð¸ подÑвеÑка и goto definition и вÑвод оÑибок ÑабоÑаÑÑ Ð¿Ð¾ÑÑи ÑÑÑемглав. Ðо... конеÑно же наÑлаÑÑ Ð½ÐµÐ¿ÑиÑÑноÑÑÑ. Ð ÑоÑнее оÑÑÑÑÑÑвÑÑÑÐ°Ñ ÑиÑа. ÐÐ»Ñ Python Ñ Ð¼ÐµÐ½Ñ Ð² vim-lsc конÑиге Ñвно пеÑедавалаÑÑ ÑÐ°ÐºÐ°Ñ ÑÑÑка как workspace_config, в коÑоÑом ÑказÑвалиÑÑ Ð½Ð°ÑÑÑойки Ð´Ð»Ñ LSP ÑеÑвеÑа (оÑклÑÑиÑÑ mccabe и ÑмоÑÑеÑÑ ÑолÑко на flake8 конÑиг). ÐоÑÑл ÑмоÑÑеÑÑ vim-lsc код, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð½ÑÑÑ ÑÑо же Ñакое (Ñ ÑоÑки зÑÐµÐ½Ð¸Ñ LSP пÑоÑокола) workspace_config и как он пеÑедаÑÑÑÑ. ÐказалоÑÑ ÑÑо ÑÑо пÑÑм оÑделÑное ÑобÑÑие оÑпÑавлÑемое на ÑеÑвеÑ. Чего yegappan/lsp плагин не делаеÑ. Ðлаго код на vim9script, понÑÑнÑй, компакÑнÑй и ÑопоÑнÑй. Ðобавил возможноÑÑÑ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑÑого конÑига и его оÑпÑÐ°Ð²ÐºÑ Ð½Ð° ÑеÑвеÑ. -- 2.51.0