ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

LSP-nimlangserver

by sublimelsp ST4

A convenience package for the official Nim language server.

Details

  • 1.1.0
  • github.​com
  • github.​com
  • 7 months ago
  • 33 minutes ago
  • 8 months ago

Installs

  • Total 222
  • Win 85
  • Mac 36
  • Linux 101
Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11 Nov 10 Nov 9 Nov 8 Nov 7 Nov 6 Nov 5 Nov 4 Nov 3 Nov 2 Nov 1 Oct 31 Oct 30 Oct 29 Oct 28 Oct 27 Oct 26 Oct 25 Oct 24 Oct 23 Oct 22 Oct 21 Oct 20 Oct 19 Oct 18 Oct 17 Oct 16 Oct 15 Oct 14 Oct 13 Oct 12 Oct 11 Oct 10 Oct 9 Oct 8 Oct 7
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Linux 0 0 0 0 0 2 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 2 2 1 0 0 1 1 0 0 0 1 0 0 0 1

Readme

Source
raw.​githubusercontent.​com

LSP-nimlangserver

A helper package that manages the nimlangserver language server.

LSP Features

Installation

Install the following packages via Package Control: 1. LSP 2. LSP-nimlangserver 3. Nim for syntax highlighting. 4. Debugger for Debugging Nim programs. 5. Terminus for running debugger tasks.

Configuration

You can edit the global settings by opening the Preferences: LSP-nimlangserver Settings from the Command Palette.

You can also have a project-specific configuration. Run the Project: Edit Project from the Command Palette and edit the following in the settings object.

{
    // folders: [
    //   ...
    // ]
    "settings": {
        "LSP": {
            "nimlangserver": {
                "settings": {
                    //Setting-here
                }
            }
        }
    }
}

Applicable Selectors

This language server operates on views with the source.nim base scope.

Server Management

If the "binary" setting is set to a non-empty string (the default), then it will try to find the server binary in your system. If it fails, then it will prompt you to download it from Github. The server binary is automatically downloaded to $CACHE/Package Storage/LSP-nimlangserver.

Debugging

The Debugger package enables debugging Nim programs (among others). Some setup is required however.

Debugger

Setting Up

  • Read the README
  • The adapter to install is lldb.
  • Example configurations for debugging the current file:
{
    // folders: [
    //   ...
    // ]
    "debugger_configurations":
    [
        {
            "name": "Launch",
            "program": "${file_path}/${file_base_name}",
            "pre_debug_task": "Nim: compile for debugging",
            // "preRunCommands": ["command script import --allow-reload \"<PATH_TO_NIM_INSTALLATION_DIR>/tools/debug/nimlldb.py\""] // improves values representation (but may be buggy).
            "args": [],
            "cwd": "${file_path}"
        },
    ],
    "debugger_tasks": [
        {
            "name": "Nim: compile for debugging",
            "shell_cmd": "nim c -g ${file}",
            "file_regex": "^(.+.nim)\\((\\d+), (\\d+)\\) (.*)",
            "line_regex": "Error:"
        }
    ]
}
  • You may also define tasks and configurations globally:
    • Run Preferences: Debugger Settings from the command palette.
    • Add the task or configuration to the global_debugger_tasks or the global_debugger_configuration settings respectively.