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許可證的條款獲得許可。請參閱許可證