- Rust 93.2%
- JavaScript 3.3%
- Kotlin 3.2%
- Tree-sitter Query 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
`resource_processor.rs` file is included within the `build.rs` and the functions marked as dead code are being used. |
||
| .github | ||
| .vscode | ||
| client | ||
| demo | ||
| src | ||
| .gitignore | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
YAML Language Server - Pioneer
A Rust-based Language Server for the yaml file, providing hover documentation and code completion support for the file.
Demo
Building the LSP Server
# Get the Rust toolchain: https://www.rust-lang.org/tools/install
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ cargo build --release
$ file target/release/pioneer
target/release/pioneer: Mach-O 64-bit executable arm64
IDE Client Extension
The pioneer server provides integration with various IDEs.
Below are instructions for integrating the LSP into VSCode and IntelliJ Based IDEs.
To integrate the LSP server into an IDE, you need to create an IDE extension and bundle the language server with it
Note
You don't have to bundle the LSP server within the plugin itself. Instead, you can place the server binary in a separate location (e.g., in your
$PATH) and configure the extension to use it from there. This approach can be more convenient during development.
VSCode
Note
The extension has been set to support all VSCode versions after
1.75.0. You can change theenginesfield inpackage.jsonto support earlier versions.
Requirements
- Language Server Binary
- Node.js 20+ (LTS)
Steps
- Copy the
pioneerbinary into theclient/vscodefolder. - Navigate to the
client/vscodedirectory and install the dependencies by runningnpm install. - Run the command
npx @vscode/vsce packageto package the extension. - This will generate the extension as a
.vsixfile.
# Copy the language server in extesion folder
$ cp target/release/pioneer client/vscode
$ cd client/vscode
# Installing the dependencies
$ npm install
# Create the extension
$ npx @vscode/vsce package
# The extension will generated in the same directory
$ ls
extension.js package-lock.json package.json pioneer-x.x.x.vsix
Installing the extension
To install the VSIX file as an extension
- Go to the Extensions view (
Cmd ⌘ + Shift + Xon macOS,Ctrl + Alt + Son Windows/Linux) - Click Views and More Actions...
- Select Install from VSIX...
OR
In your terminal, run the following command:
# If you use VS Code
code --install-extension pioneer-x.x.x.vsix
# If you use VS Code Insiders
code-insiders --install-extension pioneer-x.x.x.vsix
IntelliJ / GoLand
Note
The plugin is compatible with all IntelliJ-based IDEs starting from version
2023.3.2and later
Requirements
- Language Server Binary
- Java 17 or higher
Steps
- Copy the
pioneerbinary into theclient/IntelliJfolder. - Navigate to the
client/IntelliJdirectory. - Run
./gradlew buildPluginto generate the plugin jar. - A
.jarfile will be generated in thebuild/libsfolder.
# Get the Language Server in the plugin directory
$ cp target/release/pioneer client/IntelliJ
# Navigate to the plugin directory
$ cd client/IntelliJ
# Build the plugin jar
$ ./gradlew buildPlugin
# Output jar present in build/libs folder
$ ls build/libs
instrumented-Pioneer-x.x.x.jar Pioneer-x.x.x.jar
Installing the plugin
To install the generated .jar plugin file in IntelliJ/GoLand
- Open IntelliJ and navigate to Settings (
cmd ⌘ + ,on macOS,Ctrl+Alt+Son Windows/Linux) and go to Plugins. - Click the gear icon (⚙️) and select Install Plugin from Disk.
- Select the
.jarfile generated and click OK.