Myzel394 dd9e92fca7
Merge pull request #23 from Myzel394/vs-code-extension
feat: Add build script for vs code extension
2024-10-20 12:39:08 +02:00
2024-10-20 12:31:17 +02:00
2024-10-20 12:37:14 +02:00
2024-10-20 12:37:14 +02:00
2024-10-17 10:47:30 +02:00
2024-10-17 10:57:02 +02:00
2024-10-16 21:40:19 +02:00
2024-10-20 12:37:14 +02:00
2024-10-19 21:13:06 +02:00
2024-07-29 22:13:14 +02:00

config-lsp

A language server for configuration files. The goal is to make editing config files modern and easy.

Supported Features

diagnostics completion hover code-action definition rename signature-help
aliases
fstab 🟡
hosts
ssh_config
sshd_config
wireguard 🟡

= Supported

🟡 = Will be supported, but not yet implemented

= No idea what to implement here, please let me know if you have any ideas

What further configs will be supported?

As config-lsp is a hobby project and I'm working completely alone on it, I will first focus on widely used and well known config files.

You are welcome to request any config file, as far as it's fairly well known.

Installation

Download the latest binary from the releases page and put it in your PATH.

Follow the instructions for your editor below.

Neovim installation

Using nvim-lspconfig you can add config-lsp by adding the following to your lsp.lua (filename might differ):

if not configs.config_lsp then
    configs.config_lsp = {
        default_config = {
            cmd = { 'config-lsp' },
            filetypes = {
                "sshconfig",
                "sshdconfig",
                "fstab",
                "aliases",
                -- Matches wireguard configs and /etc/hosts
                "conf",
            },
            root_dir = vim.loop.cwd,
        },
    }
end

lspconfig.config_lsp.setup {}

VS Code installation

The VS Code extension is currently in development. An official extension will be released soon.

However, at the moment you can also compile the extension yourself and run it in development mode.

Do not create an extension and publish it yourself. Contribute to the official extension instead.

Supporting config-lsp

You can either contribute to the project, see CONTRIBUTING.md, or you can sponsor me via GitHub Sponsors or via crypto currencies.

Oh and spreading the word about config-lsp is also a great way to support the project :)

Description
Finally a LSP for your config files: gitconfig, fstab, aliases, hosts, wireguard, ssh_config, sshd_config, and more to come!
Readme 7.5 MiB
Languages
Go 94.1%
Nix 4.8%
ANTLR 0.5%
TypeScript 0.3%
JavaScript 0.2%
Other 0.1%