http language server
v0.0.2
警告该项目正在开发中。
HTTP语言服务器是HTTP的LSP实现。它通过利用完成,悬停文档和诊断等功能来帮助您轻松编写HTTP消息和请求。
在早期阶段,破裂的变化可能会经常发生,因此,重要的是要使用此服务器,请谨慎使用它,并报告可能遇到的任何错误。
欢迎捐款!如果您遇到任何问题或提出改进的建议,请创建问题或拉出请求。
# Clone the repository
git clone https://github.com/mateusabelli/http-language-server.git
# Navigate to the project folder
cd http-language-server # Navigate to the server folder
cd server/
# Create a new virtual environment
python -m venv venv
# Activate the environment
source venv/bin/activate
# Install the required dependencies
python -m pip install -r requirements.txt创建.vscode/settings.json文件并设置python.interpreterPath以指向安装pygls的Python环境。
{
"python.defaultInterpreterPath" : " ${workspaceFolder}/server/venv/bin/python "
}Launch Server 。 # Navigate to the client folder
cd client/
# Install the required dependencies
npm installLaunch Client 。注意未测试,欢迎反馈!
这些设置配置直到从服务器中编制了独立可执行文件后才能工作,但是如果您知道如何将其设置为从服务器源代码运行,仍然可以使用它们。
vim . api . nvim_create_autocmd ({ " BufEnter " }, {
pattern = { " .http " },
callback = function ()
vim . lsp . start ({
name = " http-language-server " ,
cmd = { " http-language-server --stdio " },
root_dir = vim . fs . dirname ( vim . fs . find ({ " .git " }, { upward = true })[ 1 ])
})
end ,
})安装依赖关系后,您需要使用LSPConfig在Neovim中进行工作的LSP设置。然后,您将需要遵循LSPConfig的贡献指南,以手动添加此服务器配置。
配置文件: lua/lspconfig/server_configurations/http-language-server.lua
-- http-language-server.lua
local util = require ' lspconfig.util '
local bin_name = ' http-language-server '
local cmd = { bin_name , ' --stdio ' }
if vim . fn . has ' win32 ' == 1 then
cmd = { ' cmd.exe ' , ' /C ' , bin_name , ' --stdio ' }
end
return {
default_config = {
cmd = cmd ,
filetypes = { ' .http ' },
root_dir = util . find_git_ancestor ,
single_file_support = true ,
},
}然后,您可以在用于设置所有其他服务器的LUA文件中激活该服务器。
require ( ' lspconfig ' )[ ' http_language_server ' ]. setup ({
capabilities = capabilities ,
on_attach = on_attach
}) augroup HelloWorldPythonExample
au !
autocmd User lsp_setup call lsp#register_server ({
' name ' : ' http-language-server ' ,
' cmd ' : {server_info - >[ ' http-language-server ' , ' --stdio ' ]},
' allowlist ' : [ ' .http ' ]
})
augroup END(make-lsp-client :new-connection
(lsp-stdio-connection
` ( , (executable-find " http-language-server " ) " --stdio " ))
:activation-fn (lsp-activate-on " .http " )
:server-id ' http-language-server'){
"clients" : {
"http-language-server" : {
"command" : [ " http-language-server " , " --stdio " ],
"enabled" : true ,
"selector" : " source.http "
}
}
} .
├─ client // Language Client
│ ├─ src
│ │ └─ extension . ts // Language Client entry point
│ └─ syntax // Syntax hightlighting settings
│
└─ server // Language Server
├─ __main__ . py // Language Server entry point
└─ server . py 如果在使用HTTP语言服务器时遇到任何问题,请检查以下内容:
HTTP语言服务器已根据MIT许可证的条款获得许可。请参阅许可证