Skip to main content

Language server for systemd unit files

Project description

systemd-language-server

PyPI GitHub Actions (Tests) GitHub

Language server for systemd unit files. Result of an exercise to learn the language server protocol.

Supported Features

textDocument/completion

Completion for

  • unit file directives
  • unit file sections

textDocument/hover

Documentation for directives supplied on hovering.

For markup in hover windows (i.e. the fancy highlighting), pandoc must be found in $PATH. Otherwise, there will be fallback to plain text.

Installation

pip install systemd-language-server

Example Integrations

coc.nvim

In coc-settings.json, under .languageserver:

...
"systemd-language-server": {
  "command": "systemd-language-server",
  "filetypes": ["systemd"]
}
...

nvim-lspconfig

local lspconfig = require 'lspconfig'
local configs = require 'lspconfig.configs'

if not configs.systemd_ls then
  configs.systemd_ls = {
    default_config = {
      cmd = { 'systemd-language-server' },
      filetypes = { 'systemd' },
      root_dir = function() return nil end,
      single_file_support = true,
      settings = {},
    },
    docs = {
      description = [[
https://github.com/psacawa/systemd-language-server

Language Server for Systemd unit files.
]]
    }
  }
end

lspconfig.systemd_ls.setup {}

Courtesy of @ValdezFOmar

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

systemd_language_server-0.3.5.tar.gz (168.8 kB view hashes)

Uploaded Source

Built Distribution

systemd_language_server-0.3.5-py3-none-any.whl (181.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page