All Projects → buntec → scalavista-server

buntec / scalavista-server

Licence: MIT license
A minimalistic Scala language-server

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to scalavista-server

Clangd
clangd language server
Stars: ✭ 293 (+1992.86%)
Mutual labels:  language-server, ide
atom-ide-scala
Scala & Dotty support for Atom IDE (🧟‍♂️ zombie repo)
Stars: ✭ 47 (+235.71%)
Mutual labels:  language-server, ide
Metals
Scala language server with rich IDE features 🚀
Stars: ✭ 1,605 (+11364.29%)
Mutual labels:  language-server, ide
benten
A language server for Common Workflow Language
Stars: ✭ 50 (+257.14%)
Mutual labels:  language-server, ide
Erlang ls
The Erlang Language Server
Stars: ✭ 363 (+2492.86%)
Mutual labels:  language-server, ide
Php Language Server
PHP Implementation of the VS Code Language Server Protocol 🆚↔🖥
Stars: ✭ 1,019 (+7178.57%)
Mutual labels:  language-server, ide
Ocaml Language Server
A language server for OCaml and related languages
Stars: ✭ 238 (+1600%)
Mutual labels:  language-server, ide
Devel-Camelcadedb
Perl module for debugging with Perl5 plugin for IntelliJ
Stars: ✭ 23 (+64.29%)
Mutual labels:  ide
SpaceVim
基于SpaceVim的真正开箱即用、无需配置的IDE,你只需要记住快捷键即可。(目前默认支持C/C++、Go、Python、Shell、Markdown、VimL)
Stars: ✭ 58 (+314.29%)
Mutual labels:  ide
core
🚀 A framework helps you quickly build Cloud or Desktop IDE products.
Stars: ✭ 2,082 (+14771.43%)
Mutual labels:  ide
tails
tails enables you to view, edit, and organize all your programming projects in one place
Stars: ✭ 20 (+42.86%)
Mutual labels:  ide
legend-studio
Legend Studio
Stars: ✭ 53 (+278.57%)
Mutual labels:  ide
myPDDL
PDDL Syntax Highlighting, Snippets, Domain Visualization and more for Sublime Text
Stars: ✭ 32 (+128.57%)
Mutual labels:  ide
makestudio
Setup your Delphi Environment very easily - build your projects with more comfort
Stars: ✭ 43 (+207.14%)
Mutual labels:  ide
Christmas
🎅🏻 Text Editor Christmas Theme 🎄
Stars: ✭ 15 (+7.14%)
Mutual labels:  ide
nix-env-selector
Allows switch environment for Visual Studio Code using Nix Package Manager.
Stars: ✭ 154 (+1000%)
Mutual labels:  ide
scode-studio
Programming on mobile App SCode IDE is a mobile coding IDE and platform (Compiler for mobile), Where you can run your projects. Now you code anytime, anywhere and on the go.
Stars: ✭ 18 (+28.57%)
Mutual labels:  ide
atom-ide-cpp
C/C++ language support for Atom-IDE
Stars: ✭ 34 (+142.86%)
Mutual labels:  ide
CodeView
Android Library to make it easy to create an Code editor or IDE that support any languages and themes, with auto complete, auto indenting, snippets and more features
Stars: ✭ 254 (+1714.29%)
Mutual labels:  ide
zee
A modern text editor for the terminal written in Rust
Stars: ✭ 1,120 (+7900%)
Mutual labels:  ide

scalavista-server

A minimalistic Scala language server based on akka-http and Scala's presentation compiler.

Written as a back-end for the neovim-scalavista Neovim plugin and the vscode-scalavista Visual Studio Code extension.

(If anyone wants to contribute similar plugins for e.g. Atom or Sublime Text, that would be great!)

See src/main/scala/org/scalavista/Server.scala for all API endpoints.

Prerequisites

  • Java (version 8 or higher).

Install

End users can rely on the Visual Studio Code and Neovim plugins to download the latest version of the server jars for them.

To download them manually go to the release page.

Usage

The Neovim and Visual Studio Code plugins will launch a server as a subprocess upon activation.

To start the server manually, do this from the root of your project:

java -jar /path/to/scalavista-server-*.jar [options]

Use --help to see a list of options.

For an optimal experience create a file called scalavista.json at the root of your project. This is a plain json file with the following fields (all optional):

  1. dependencies - a list of dependencies (Scala or Java), e.g., ["org.scalatest:scalatest_2.13:3.0.8", "junit:junit:4.10"]; if this field is missing then any jar in a lib subfolder of where the server was launched (your project root) will be added to the classpath (i.e., manual dependency management).
  2. scalaBinaryVersion - one of "2.11", "2.12" or "2.13"; defaults to "2.13" if missing.
  3. sources - a list of Scala or Java source files; if this field is missing then all *.scala and *.java files in the directory where the server was launched (the root of your project) and any of its subdirectories (recursively) will be loaded.
  4. scalacOptions - a list of scalac compiler options, e.g., ["-deprecation", "-feature"]; uses sensible defaults if missing.
  5. classpath - a list of items (e.g., jars) to be added to the classpath. Typically not needed when the file is created manually as dependencies are resolved automatically from the dependencies field.

You can use the sbt-scalavista plugin to generate a scalavista.json file for your project.

Disclaimer

This is work in progress. Contributions and bug reports are most welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].