Warnung dieses Projekts befindet sich in der Entwicklung.
Der HTTP -Sprachserver ist eine LSP -Implementierung für HTTP. Es hilft Ihnen, Ihre HTTP -Nachrichten und -anforderungen problemlos zu schreiben, indem Sie Funktionen wie Fertigstellung, Schwebedokumentation und Diagnose nutzen.
In den frühen Stadien können häufig Unterbrechungsänderungen auftreten. Daher ist es wichtig, dass, wenn Sie diesen Server verwenden möchten, ihn mit Vorsicht verwenden und bitte alle Fehler melden möchten, auf die Sie möglicherweise begegnen.
Beiträge sind willkommen! Bitte erstellen Sie eine Ausgabe oder eine Anfrage, wenn Sie auf Probleme stoßen oder Verbesserungsvorschläge haben.
# 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 Erstellen Sie .vscode/settings.json -Datei und setzen Sie python.interpreterPath so, dass Sie auf Ihre Python -Umgebung verweisen, in der pygls installiert ist.
{
"python.defaultInterpreterPath" : " ${workspaceFolder}/server/venv/bin/python "
}Launch Server aus dem Dropdown. # Navigate to the client folder
cd client/
# Install the required dependencies
npm installLaunch Client .Hinweis nicht getestet, Feedback ist willkommen!
Diese Setup -Konfigurationen funktionieren erst, wenn eine eigenständige ausführbare Datei aus dem Server zusammengestellt wird. Sie können sie jedoch weiterhin verwenden, wenn Sie wissen, wie Sie sie aus dem Server -Quellcode einrichten.
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 ,
})Nachdem die Abhängigkeiten installiert sind, benötigen Sie mit LSPConfig ein funktionierendes LSP -Setup in Neovim. Anschließend müssen Sie LSPCONFIGs beitragenden Handbuch befolgen, um diese Serverkonfiguration manuell hinzuzufügen.
Die Konfigurationsdatei: 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 ,
},
}Anschließend können Sie diesen Server in der LUA -Datei aktivieren, mit der Sie alle anderen Server einrichten.
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 Wenn Sie bei der Verwendung des HTTP -Sprachservers auf Probleme stoßen, überprüfen Sie Folgendes:
Der HTTP -Sprachserver ist unter den Bedingungen der MIT -Lizenz lizenziert. Siehe Lizenz.MD