An enhanced VSCode extension for the Move programming language.

Overview

Move Analyzer Plus

Provides language support for the Move programming language.

Install on the VSCode Extension Marketplace: Move Analyzer Plus on the VSCode Marketplace

Currently, this means a basic grammar and language configuration for Move (.move) that enables syntax highlighting, commenting/uncommenting, simple context-unaware completion suggestions while typing, and other basic language features in Move files.

For information about Move visit the Move repository.

How to Install

The move-analyzer Visual Studio Code extension works via two components: the extension itself and the move-analyzer language server.

1. Installing the move-analyzer language server

The move-analyzer language server is a Rust program that is part of the Move repository. It may be installed in one of two ways:

  • Clone the Move repository yourself and build move-analyzer from its source code, which is especially useful if you will work on core Move. To do so, follow the instructions in the Move tutorial's Step 0: Installation.
  • Use Rust's package manager cargo to install move-analyzer in your user's PATH. This is recommended for people who do not work on core Move.
    1. If you don't already have a Rust toolchain installed, you should install Rustup, which will install the latest stable Rust toolchain.
    2. Invoke cargo install --git https://github.com/move-language/move move-analyzer to install the move-analyzer language server in your Cargo binary directory. On macOS and Linux, this is usually ~/.cargo/bin. You'll want to make sure this location is in your PATH environment variable.

To confirm that you've installed the language server program successfully, execute move-analyzer --version on the command line. You should see the output move-analyzer 1.0.0.

2. Installing the move-analyzer Visual Studio Code extension

  1. Open a new window in any Visual Studio Code application version 1.55.2 or greater.
  2. Open the command palette (⇧⌘P on macOS, or use the menu item View > Command Palette...) and type Extensions: Install Extensions. This will open a panel named Extensions in the sidebar of your Visual Studio Code window.
  3. In the search bar labeled Search Extensions in Marketplace, type move-analyzer. The move-analyzer extension should appear in the list below the search bar. Click Install.
  4. Open any file that ends in .move. Or to create a new file, click Select a language, and choose the Move language. As you type, you should see that keywords and types appear in different colors.

Troubleshooting

If you see an error message language server executable 'move-analyzer' could not be found in the bottom-right of your Visual Studio Code screen when opening a Move file, it means that the move-analyzer executable could not be found in your PATH. You may try the following:

  1. Confirm that invoking move-analyzer --version in a command line terminal prints out move-analyzer 1.0.0. If it doesn't, then retry the instructions in step 1. If it does successfully print this output, try closing and re-opening the Visual Studio Code application, as it may not have picked up the udpates to your PATH.
  2. If you installed the move-analyzer executable to a different location that is outside of your PATH, then you may have the extension look at this location by using the the Visual Studio Code settings (⌘, on macOS, or use the menu item Code > Preferences > Settings). Search for the move-analyzer-plus.server.path setting, and set it to the location of the move-analyzer language server you installed.
  3. If the above steps don't work, then report a GitHub issue to the Move repository to get help.

Features

Here are some of the features of the move-analyzer Visual Studio Code extension. To see them, open a Move source file (a file with a .move file extension) and:

  • See Move keywords and types highlighted in appropriate colors.
  • Comment and un-comment lines of code using the ⌘/ shortcut on macOS (or the menu command Edit > Toggle Line Comment).
  • Place your cursor on a delimiter, such as <, (, or {, and its corresponding delimiter -- >, ), or } -- will be highlighted.
  • As you type, Move keywords will appear as completion suggestions.
  • If the opened Move source file is located within a buildable project (a Move.toml file can be found in one of its parent directories), the following advanced features will also be available:
    • compiler diagnostics
    • go to definition
    • go to type definition
    • go to references
    • type on hover
You might also like...

A Flow-based programming language for universal applications.

A Flow-based programming language for universal applications.

Hlang A Flow-based programming language for universal applications. Hlang aims to make programming easier, faster and more comfortable. It avoids codi

Dec 25, 2022

A programming language (WIP)

Umo programming language Concept Effect system (not implemented) Subtyping (not implemented) Opt-in shared mutability (not implemented) Gradual typing

Feb 25, 2022

Jaksel Script, Programming language very modern and Indonesian style

Jaksel Script Jaksel Script is a new programming language, very modern, easy to learn, using Indonesia-slang language. No programming experience requi

Jan 3, 2023

The Javascript and canvas port of MarkovJunior : A Probabilistic Programming Language.

The Javascript and canvas port of MarkovJunior : A Probabilistic Programming Language.

MarkovJunior.js MarkovJunior is a probabilistic programming language where programs are combinations of rewrite rules and inference is performed via c

Nov 15, 2022

One-stop Go+ programming language environment manager

One-stop Go+ programming language environment manager

InGop (Go+ language) One-stop Go+ programming language environment manager How do I learn the Go+ programming language quickly? Start with installatio

Nov 21, 2022

Simple JSON parse/stringify for the Wren programming language

wren-json Simple JSON parse/stringify for the Wren programming language. Parses strict json and relaxed json Comments Unquoted keys Trailing commas St

May 18, 2022

The interpretation implementation implemented programming language built for fun. I'm currently boring in full stack web development. So, I crafted this one LoL. 👻

The interpretation implementation implemented programming language built for fun. I'm currently boring in full stack web development. So, I crafted this one LoL.  👻

What's Wuttyi? Everything is expression 👻 I just developed this tiny programming language because of boring in higher level programming construct. Mo

Dec 13, 2022

Simple Math Programming Language (SMPL) for the Web

Simple Math Programming Language (SMPL) for the Web SMPL is a math-oriented programming language that can be interpreted in the browser. Its primary u

Dec 15, 2022

A type programming language which compiles to and interops with type-level TypeScript

Prakaar Prakaar (hindi for "type") is a type programming language which compiles to and interops with type-level TypeScript. Prakaar itself is also a

Sep 21, 2022
Owner
The Moving Company
Tools for the Move ecosystem. Brought to you by @saber-hq.
The Moving Company
VSCode extension for the rickroll-lang programming language (incomplete)

Rickroll-Lang VSCode Extension The Rick Roll programming language is a rickroll based, process oriented, dynamic, strong, esoteric programming languag

Siddhesh Zantye 6 Oct 10, 2022
Movehat is a TypeScript SDK for Move on Sui built on top of Sui's TypeScript SDK and our fork of Ian Macalinao's `move-ts`.

Movehat Movehat is a TypeScript SDK for Move on Sui built on top of Sui's TypeScript SDK and our fork of Ian Macalinao's move-ts. Movehat aspires to b

Pentagon 10 Sep 30, 2022
Cookbook Method is the process of learning a programming language by building up a repository of small programs that implement specific programming concepts.

CookBook - Hacktoberfest Find the book you want to read next! PRESENTED BY What is CookBook? A cookbook in the programming context is collection of ti

GDSC-NITH 16 Nov 17, 2022
Write "hello world" in your native language, code "hello world" in your favorite programming language!

Hello World, All languages! ?? ?? Write "hello world" in your native language, code "hello world" in your favorite language! #hacktoberfest2022 How to

Carolina Calixto 6 Dec 13, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
⚡ Extremely fast online playground for every programming language.

Riju Riju is a very fast online playground for every programming language. In less than a second, you can start playing with a Python interpreter or c

Radon Rosborough 845 Dec 28, 2022
Programming language makes by hobby <3

Joule Programming language makes by hobby <3 About It's a compiled programming language written in JavaScript :/. Codes compile into Assembly code tha

null 6 Feb 17, 2022