PERINGATAN Proyek ini sedang dikembangkan.
Server bahasa HTTP adalah implementasi LSP untuk HTTP. Ini membantu Anda untuk dengan mudah menulis pesan dan permintaan HTTP dengan memanfaatkan fitur seperti penyelesaian, melayang dokumentasi, dan diagnostik.
Pada tahap awal, perubahan perubahan dapat sering terjadi, jadi penting bahwa jika ingin menggunakan server ini, untuk menggunakannya dengan hati -hati dan tolong laporkan bug yang mungkin Anda temui.
Kontribusi dipersilakan! Harap buat permintaan atau permintaan tarik jika Anda mengalami masalah atau memiliki saran untuk perbaikan.
# 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 Buat file .vscode/settings.json dan atur python.interpreterPath untuk menunjuk ke lingkungan Python Anda di mana pygls diinstal.
{
"python.defaultInterpreterPath" : " ${workspaceFolder}/server/venv/bin/python "
}Launch Server dari drop -down. # Navigate to the client folder
cd client/
# Install the required dependencies
npm installLaunch Client dari drop -down.Catatan tidak diuji, umpan balik diterima!
Konfigurasi pengaturan ini tidak akan berfungsi sampai Executable mandiri disusun dari server, tetapi Anda masih dapat menggunakannya jika Anda tahu cara mengaturnya untuk menjalankan dari kode sumber server.
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 ,
})Setelah terpasang dependensi, Anda harus memiliki pengaturan LSP yang berfungsi di Neovim menggunakan LSPConfig. Maka Anda harus mengikuti panduan berkontribusi LSPConfig untuk secara manual menambahkan konfigurasi server ini.
File konfigurasi: 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 ,
},
}Kemudian Anda dapat mengaktifkan server ini dalam file LUA yang Anda gunakan untuk mengatur semua server lainnya.
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 Jika Anda mengalami masalah saat menggunakan server bahasa HTTP, silakan periksa yang berikut:
Server bahasa HTTP dilisensikan berdasarkan ketentuan lisensi MIT . Lihat lisensi.md