Promql Langserver

PromQL language server
Alternatives To Promql Langserver
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Language Server Protocol9,603
a day ago231otherHTML
Defines a common protocol for language servers.
Nvim Lspconfig7,520
5 hours ago35apache-2.0Lua
Quickstart configs for Nvim LSP
Eglot1,931
19 hours ago78gpl-3.0Emacs Lisp
A client for Language Server Protocol servers
Vscode Java1,882
20 hours ago802epl-2.0TypeScript
Java Language Support for Visual Studio Code
Kotlin Language Server1,212
13 days ago1March 10, 2021161mitKotlin
Kotlin code completion, linting and more for any editor/IDE using the Language Server Protocol
Go Langserver1,1139172 years ago7August 24, 202160mitGo
Go language server to add Go support to editors and other tools that use the Language Server Protocol (LSP)
Vim Lsp Settings1,111
a day ago71mitVim Script
Auto configurations for Language Server for vim-lsp
Php Language Server1,0612612 years ago64November 13, 2018267iscPHP
PHP Implementation of the VS Code Language Server Protocol 🆚↔🖥
Texlab1,044
a day ago5June 13, 202227gpl-3.0Rust
An implementation of the Language Server Protocol for LaTeX
Language Tools1,00716810 hours ago201June 26, 2022224mitTypeScript
The Svelte Language Server, and official extensions which use it
Alternatives To Promql Langserver
Select To Compare


Alternative Project Comparisons
Readme

CircleCI Go Report Card GoDoc golangci-lint

promql-lsp

Implementation of the Language Server Protocol for PromQL.

Roadmap

  • [x] Connect to IDEs and text editors over
    • [x] Stdio
    • [ ] Websocket
    • [ ] HTTP
  • [x] Sync document content with the client
  • [x] Support plain PromQL queries
  • [x] Support queries inside yaml files (e.g. alertmanager configuration)
  • [x] Connect to a prometheus instance to get label and metric data
  • [x] Show error messages for incorrect queries in the client
  • [ ] Show documentation on hover
    • [x] Type information
    • [x] Function documentation
    • [x] Aggregator documentation
    • [ ] Keyword documentation
    • [x] Metric and label help strings from a prometheus instance
  • [ ] Completion
    • [x] Functions
    • [x] Metrics
    • [x] Recording Rules
    • [x] Aggregators
    • [x] Labels
    • [x] Label Values
    • [ ] Context sensitive, i.e respecting function argument types
  • [x] Signature information for functions (while typing)
  • [ ] (Linting)
  • [ ] (Formatting)

Some Screenshots

Completion in VS Code

Completion in VS Code

Metric metadata from a Prometheus Server

Metric Metadata in VS Code

Viewing documentation right from your editor

Docs in VS Code

Vim and other editors are supported, too

Vim

Using the Language Server

A Language Server on its own is not very useful. You need some Language Client to use it with.

The following Language Clients have been tested with this language server. More will be added in the future.

Feel free to reach out if you want to use it with another Editor/Tool.

Reading this documentation can help you in your work.

VS Code

There exists a VS Code extension based on this language server: slrtbtfs/vscode-prometheus

It is used as the main test platform for this language server.

Since it isn't published on the Extensions Marketplace yet, you'll have to follow the somewhat more complicated installation steps described in the README there.

(Neo)Vim

With Vim, currently only PromQL queries inside YAML files work without additional support. Generally the experience with Vim is more buggy than with VS Code.

Setup

  1. Install the YouCompleteMe Plugin.

  2. Put the configuration following configuration file for the language server in .vim/promql-lsp.yaml.

     # Change this adress to the address of the prometheus server you want to use for metadata
     prometheus_url: http://localhost:9090
     rpc_trace: text
    
  3. Add the following to your .vimrc

     let g:ycm_language_server = [
       \   { 'name': 'promql',
       \     'filetypes': [ 'yaml' ],
       \     'cmdline': [ 'promql-langserver', '--config-file', expand('~/.vim/promql-lsp.yaml')]
       \   },
       \ ]
    

Debugging

The Vim command :YcmDebugInfo gives status information and points to logfiles.

Sublime Text 3

  1. Install package LSP, LSP-promql via Package Control.
  2. Follow the installation instruction.

Contributing

Refer to CONTRIBUTING.md

License

Apache License 2.0, see LICENSE.

Popular Server Projects
Popular Language Server Projects
Popular Networking Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Golang
Server
Language
Vim
Metrics
Prometheus
Language Server