이 프로젝트가 개발 중입니다.
HTTP Language Server는 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 Language Server를 사용하는 동안 문제가 발생하면 다음을 확인하십시오.
HTTP Language Server는 MIT 라이센스의 조건에 따라 라이센스가 부여됩니다. License.md를 참조하십시오