monaqa/satysfi-language-server

The SATySFi Language Server

Rust

67

14 commits

updated Feb 1, 2023

See the code

README

[WIP] SATySFi Language Server

This repository is work-in-progress yet.

Features

KindFunctionDone
codeActionAdd the definition of an undefined command under the cursor
completionComplete a command name
completionComplete a field name in a record
completionComplete a local function/variable name
completionComplete a primitive
completionComplete a public function in a module
diagnosticsLinter (warning)
diagnosticsSyntax error (Recoverable)
diagnosticsSyntax error (Unrecoverable)
diagnosticsType error
formatCode formatting
gotoDeclarationGo to the type declaration of a command in a module
gotoDeclarationGo to the type declaration of a public function in a module
gotoDefinitionGo to the definiton of a command
gotoDefinitionGo to the definiton of a local function/variable
gotoDefinitionGo to the definiton of a public function in a module
hoverHover on a command in a module
hoverHover on a primitive
hoverHover on a public function in a module
renameRename a variable name
typeHintType hints after a command

How to setup

At the moment, we are only using coc.nvim on Neovim to check the operation.

Usage

In coc-settings.json:

{
    "languageserver": {
        "satysfi-ls": {
            "command": "/path/to/satysfi-language-server/target/debug/satysfi-language-server",
            "args": [],
            "filetypes": ["satysfi"],
            "trace.server": "verbose"
        }
    }
}

Debug Mode

/path/to/satysfi-language-server/target/debug/satysfi-language-server --tcp

In coc-settings.json:

{
    "languageserver": {
        "socketserver": {
            "host":"127.0.0.1",
            "port": 9527,
            "filetypes": ["satysfi"]
        }
    }
}
language-server
satysfi

Contributors

monaqa

10 commits

usagrada

4 commits

monaqa/satysfi-language-server

The SATySFi Language Server

Rust

67

14 commits

updated Feb 1, 2023

See the code

README

[WIP] SATySFi Language Server

This repository is work-in-progress yet.

Features

KindFunctionDone
codeActionAdd the definition of an undefined command under the cursor
completionComplete a command name
completionComplete a field name in a record
completionComplete a local function/variable name
completionComplete a primitive
completionComplete a public function in a module
diagnosticsLinter (warning)
diagnosticsSyntax error (Recoverable)
diagnosticsSyntax error (Unrecoverable)
diagnosticsType error
formatCode formatting
gotoDeclarationGo to the type declaration of a command in a module
gotoDeclarationGo to the type declaration of a public function in a module
gotoDefinitionGo to the definiton of a command
gotoDefinitionGo to the definiton of a local function/variable
gotoDefinitionGo to the definiton of a public function in a module
hoverHover on a command in a module
hoverHover on a primitive
hoverHover on a public function in a module
renameRename a variable name
typeHintType hints after a command

How to setup

At the moment, we are only using coc.nvim on Neovim to check the operation.

Usage

In coc-settings.json:

{
    "languageserver": {
        "satysfi-ls": {
            "command": "/path/to/satysfi-language-server/target/debug/satysfi-language-server",
            "args": [],
            "filetypes": ["satysfi"],
            "trace.server": "verbose"
        }
    }
}

Debug Mode

/path/to/satysfi-language-server/target/debug/satysfi-language-server --tcp

In coc-settings.json:

{
    "languageserver": {
        "socketserver": {
            "host":"127.0.0.1",
            "port": 9527,
            "filetypes": ["satysfi"]
        }
    }
}
language-server
satysfi

Contributors

monaqa

10 commits

usagrada

4 commits

Languages

Rust

100.0%