Skip to content

CppCXY/EmmyLuaAnalyzer

Repository files navigation

EmmyLuaAnalyzer

Introduction

The EmmyLuaAnalyzer project is a static analyzer and language service for the Lua language implemented in C#. It mainly consists of two parts:

  1. Lua code analysis core that supports EmmyLua Doc. It is an independent Lua code analysis library that can be used to analyze Lua code, generate abstract syntax trees, provide semantic analysis, and other functions.
  2. EmmyLua language service, which is a Lua language server based on the above code analysis core. It provides the main language service functions, including code hints, code completion, refactoring, and other features.

Features

  • Supports mainstream Lua versions, including Lua 5.1, Lua 5.2, Lua 5.3, Lua 5.4, LuaJIT.
  • Supports EmmyLua Doc comments and is compatible with the Doc format of Lua-Language-Server (abbreviated as LuaLs).
  • Supports all language service features (not all are supported yet, currently supports the main ones that will be used).
  • Formatting is not supported yet (EmmyLuaCodeStyle, which I also wrote, has its own independent language service).

Documentation

  • TODO

Usage

Use EmmyLuaAnalyzer's analysis core through nuget

TODO

Use EmmyLuaAnalyzer's language service through the VSCode plugin

You can currently use EmmyLuaAnalyzer's language service by checking Use EmmyLuaAnalyzer in VSCode-EmmyLua.

Testing

Currently in beta, everyone is welcome to test and make suggestions. There is still a lot of work in progress and needs to be improved.

LICENSE

MIT