Skip to content

sashi0034/angel-lsp

Repository files navigation

AngelScript Language Server for VSCode

Tests Version (including pre-releases) Installs

This is a Language Server for Visual Studio Code that offers features to make AngelScript development easier and faster.

sample.png

Introduction

While there are already AngelScript Language Server extensions available for VSCode, many of them are platform-specific. For example, there are excellent Language Servers specialized for specific environments like Unreal Angelscript and Openplanet Angelscript. Developers working in these environments are encouraged to use those options.

However, if you are looking for a general-purpose Language Server that is not dependent on a particular application, this extension might be useful for you. This extension aims to serve as a universal Language Server, independent of any specific application that integrates AngelScript.

Features

The Language Server analyzes AngelScript files within your project and offers the following features:

  • Syntax Highlighting for AngelScript
  • Autocompletion
  • Type Checking
  • Go to Definition
  • Find References
  • Symbol Renaming
  • Snippets
  • Code Actions
  • Formatter
  • Debugger

Note: As this project is still under development, there may be bugs or incomplete support for some of these features. Future updates will continue to improve functionality.

Getting Started

  1. Install this extension from the Visual Studio Code Marketplace.

  2. Create a file named as.predefined in the root directory of your AngelScript project.

    as.predefined is a custom file used by this Language Server.

    folder_example.png

  3. In as.predefined, define your application’s types and functions using AngelScript syntax.

    When analyzing *.as files, this Language Server implicitly imports symbols defined in as.predefined.

    This allows the Language Server to recognize the custom types and functions defined by your application, enabling autocompletion and type checking.

    You can check actual examples of as.predefined below:

    In many cases, as.predefined can also be automatically generated.

Documentation

Note: Documentation for the Debugger, Code Actions, and other features is currently missing and will be added in a future update.

Unimplemented Features

The following features are currently under development:

  • Detailed AngelScript features: Support for import is still incomplete.
  • Enhanced Type Checking: Current support for handlers and const is limited.

Other Clients

It's still in development, but there are implementations for clients other than VSCode as well.

Issues and Contributions

Bug reports and feature requests are welcome via GitHub Issues .

If you fix a small bug or add an enhancement, feel free to submit a pull request.

Additionally, if you create an as.predefined file for your application, contributing it as an example would be greatly appreciated and could be helpful to others.

Contributors

GitHub Contributors Image

License

This repository is licensed under the MIT License.

Releases

No releases published

Packages

No packages published

Languages