DVT IDE for VS Code SystemVerilog User Guide
Rev. 22.1.23, 16 August 2022

30.2.1 dvt_ls.sh Syntax

Usage: dvt_ls.sh start | stop | list | version | help ...

  Start a language server:
    start | createProject <project path> [-build <name>] [-lang <lang>] [-name <name>] [-heap_size <size>] [-stack_size <size>] [-vmargs <args>] [-local] [-noexit] [-map <link_name> <target_path>] [-f|-F <file_path>] [-<name>.build <build configuration directives ...>]
      <project_path>        Path to project (must exist)
      -build <name>         Name of active build configuration
      -lang <lang>          Set the project nature (lang).
      -name <name>          Friendly name for this language server
      -heap_size <size>     Set the Java heap size (syntax is <N>[g|G|m|M|k|K]). Default is 3072m.
      -stack_size <size>    Set the Java thread stack size (syntax is <N>[g|G|m|M|k|K]). Default is 4m.
      -vmargs <args>        Additional Java arguments.
      -local                Language server will bind to the '127.0.0.1' address, only connections from the same machine will be accepted.
      -noexit               Script will not terminate after the language server is started, terminating the script will also terminate the language server.
      -map                  Create a linked resource called <link_name> pointing to <link_target>.
      -f|-F                 Specify a command file for the project. -f and -F are mutually exclusive.
      -<name>.build         Create the build configuration file <project>/.dvt/<name>.build with <build configuration directives> as content.
                            All flags up to the end of the command line, or up to the next -<name>.build flag are considered build
                            configuration directives. This flag cannot be used in conjunction with -f, or -F.

  Stop language servers:
    stop -id <id>* | -available
      -id <id>              Stop all servers with the specified ids.
      -available            Stop all unused servers.

  List language servers:
    list [-id <id>* | -available]
      -id <id>              Show info about the servers with the specified ids
      -available            Show info about unused servers.

  Show language server version:
    version

If the server successfully starts it will print out the ID of the started server.

Notes about arguments

  • When no build <name> is specified, the server will use the default build configuration (default.build file). If it doesn't exists it will be created with the auto-config directive inside of it.

  • When no lang <lang> is specified, the server will use the values available in the <name>.ls file and if missing it will automatically infer the languages used in your project from:

    • the nature directive in of an Eclipse .project file when migrating a project from DVT Eclipse

    • the top files specified in the <name>.build

    • the file extensions present under the project folder

  • Arguments lang, heap_size, stack_size, vmargs will be saved in a <name>.ls file when starting the server, where <name> is the name of the build configuration used to start the server. If no values are provided for these arguments the default or inferred values will be saved.

  • The name argument can be used to give a friendly name to the newly started Language Server. This name will be visible in the DVT Language Servers View and can be used as an argument of the dvt_code.sh connect ... command.

  • To restrict access to the Language Server use local argument, this way the server is bound to localhost and only can be used only by UIs started on the same host.

  • By default servers are started as a daemon, the dvt_ls.sh command ends after the server is detached from the script. In some situation (e.g. when dispatching the job into a computer farm) it is preferable to run the server as a foreground job in which case noexit flag must be used.