Aviso que este projeto está em desenvolvimento.
O servidor de idiomas HTTP é uma implementação LSP para HTTP. Ajuda você a escrever facilmente suas mensagens e solicitações HTTP, aproveitando os recursos como conclusão, documentação e diagnósticos.
Nos estágios iniciais, as mudanças de ruptura podem ocorrer com frequência, por isso é importante que, se desejar usar este servidor, usá -lo com cautela e relate todos os bugs que você possa encontrar.
As contribuições são bem -vindas! Crie uma solicitação de problema ou puxe se encontrar algum problema ou ter sugestões de melhoria.
# 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 Crie o arquivo .vscode/settings.json e defina python.interpreterPath para apontar para o seu ambiente Python, onde pygls está instalado.
{
"python.defaultInterpreterPath" : " ${workspaceFolder}/server/venv/bin/python "
}Launch Server no suspensão. # Navigate to the client folder
cd client/
# Install the required dependencies
npm installLaunch Client no suspenso.Nota não testada, o feedback é bem -vindo!
Essas configurações de configuração não funcionam até que um executável independente seja compilado do servidor, mas você ainda pode usá -las se souber configurá -lo para executar a partir do código -fonte do servidor.
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 ,
})Depois de instalar as dependências, você precisará ter uma configuração LSP em funcionamento no Neovim usando o LSPConfig. Em seguida, você precisará seguir o guia contribuinte do LSPCONFIG para adicionar manualmente esta configuração do servidor.
O arquivo de configuração: 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 ,
},
}Em seguida, você pode ativar esse servidor no arquivo Lua que você usa para configurar todos os outros servidores.
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 Se você encontrar algum problema ao usar o servidor de idiomas HTTP, verifique o seguinte:
O HTTP Language Server está licenciado nos termos da licença do MIT . Veja License.md