All Projects → Shopify → asls

Shopify / asls

Licence: MIT License
A front-end independent language server for AssemblyScript

Programming Languages

elixir
2628 projects
Nix
1067 projects

Projects that are alternatives of or similar to asls

candy
🍭 A sweet programming language that is robust, minimalistic, and expressive.
Stars: ✭ 84 (+100%)
Mutual labels:  language-server
Spyglass
Development tools for vanilla Minecraft: Java Edition data pack developers.
Stars: ✭ 163 (+288.1%)
Mutual labels:  language-server
vscode-caddyfile-support
Rich Caddyfile support for Visual Studio Code
Stars: ✭ 30 (-28.57%)
Mutual labels:  language-server
typescript-language-server
TypeScript & JavaScript Language Server
Stars: ✭ 1,118 (+2561.9%)
Mutual labels:  language-server
galaxy-language-server
Galaxy Language Server to help in Galaxy (https://galaxyproject.org/) tool wrappers development.
Stars: ✭ 20 (-52.38%)
Mutual labels:  language-server
language-server
Generic Language Server
Stars: ✭ 21 (-50%)
Mutual labels:  language-server
yoda
Experimental: Static Analyzer and Language Server for Ruby
Stars: ✭ 24 (-42.86%)
Mutual labels:  language-server
stardog-language-servers
Language Servers for Stardog Languages
Stars: ✭ 19 (-54.76%)
Mutual labels:  language-server
lightning-language-server
LWC and Aura Language Servers - shipped as part of the Salesforce VSCode Extensions
Stars: ✭ 27 (-35.71%)
Mutual labels:  language-server
atom-ide-scala
Scala & Dotty support for Atom IDE (🧟‍♂️ zombie repo)
Stars: ✭ 47 (+11.9%)
Mutual labels:  language-server
vscode-erlang-lsp
A VSCode extension for Erlang that uses a language server.
Stars: ✭ 16 (-61.9%)
Mutual labels:  language-server
puppet-editor-services
Puppet Language Server for editors
Stars: ✭ 35 (-16.67%)
Mutual labels:  language-server
vscode-html-languageserver-bin
Binary version published on npm of vscode-html-languageserver extracted from VSCode tree
Stars: ✭ 35 (-16.67%)
Mutual labels:  language-server
cxxd
C/C++ language server implemented on top of Clang frontend.
Stars: ✭ 145 (+245.24%)
Mutual labels:  language-server
vscode-tenkawa-php
Visual Studio Code extension integrating Tenkawa PHP language server.
Stars: ✭ 28 (-33.33%)
Mutual labels:  language-server
groovy-language-server
A language server for Groovy
Stars: ✭ 132 (+214.29%)
Mutual labels:  language-server
ZenScript
Visual Studio Code extension/Language Server for ZenScript, includes highlight, code snippet and language server(WIP). Works with 👇
Stars: ✭ 29 (-30.95%)
Mutual labels:  language-server
hcl-lang
Schema and decoder to be used as building blocks for an HCL2-based language server.
Stars: ✭ 44 (+4.76%)
Mutual labels:  language-server
jsonnet-language-server
A Language Server Protocol (LSP) server for Jsonnet (https://jsonnet.org)
Stars: ✭ 55 (+30.95%)
Mutual labels:  language-server
scalavista-server
A minimalistic Scala language-server
Stars: ✭ 14 (-66.67%)
Mutual labels:  language-server

AssemblyScript Language Server

A frontend-independent language server for AssemblyScript.

Installation

Make sure you have Nix installed, then, run:

nix-env -i asls -f https://github.com/saulecabrera/asls/tarball/master/

this will make the language server available as a self-contained executable.

Verify that everything was installed correctly with:

which asls

asls --version

To update the language server to the latest release, run:

nix-env -i asls -f https://github.com/saulecabrera/asls/tarball/master/

If for some reason you want to install a previous version of the language server, run:

nix-env -i asls -f https://github.com/saulecabrera/asls/tarball/v<yourversion>/

Usage

The language server can be used from within any editor front-end that implements the Language Server Protocol.

To start the server and to start accepting TCP connections on a given port, run:

asls --port PORT

If no port is given, port 7658 is taken as default.

For a detailed explanation of the commands, run:

asls -h

Features

This project intends to support the following features, in the following order:

  • Compilation diagnostics: syntax and/or semantic errors
  • Code completion: complete code that is actually supported by the underlying AS compiler
  • Go-to declaration / definition
  • Information on hover
  • Reference search
  • Formatting

Development requirements

asls requires:

  • Elixir 1.7+
  • OTP 22+

Using nix shell and direnv

If you don't want to worry about installing the required dependencies for development, you can opt to use nix and direnv. This will ensure that when switching to the directory of the project, the correct dependencies will be loaded.

Requirements:

  1. Have nix installed
  2. Have direnv installed; make sure to hook your shell
  3. Run direnv allow in this directory
  4. Run elixir --version and verify that the version reported is 1.10.4

Building

To build the language server:

  1. Run make mix to install dependencies
  2. Run make build to build the language server binary, it will be placed under bin/asls

Releasing

Create a dedicated commit with

  1. Update the CHANGELOG, following the format
  2. Update mix.exs with the right version
  3. Run make. The result of running make is a hash used for default.nix. Update the hash and the version in default.nix
  4. Commit the changes specifying the new version in the commit title v{major}.{minor}.{patch}
  5. Create a release in GitHub, by uploading the bin.tar.gz
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].