awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
LuaLS avatar

LuaLS/lua-language-server

0
View on GitHub↗
4,298 星标·432 分支·Lua·MIT·9 次浏览luals.github.io↗

Lua Language Server

lua-language-server 是一个 Lua 语言的静态分析工具和类型检查器,实现了语言服务器协议 (LSP)。它提供了一套用于检测源文件中类型不匹配、死代码和逻辑错误的系统。

该项目具有基于推理的类型系统,可推断变量类型,并支持可选的注解和元文件以强制执行类型安全。它允许定义自定义类型和函数签名,包括对重载和成员可见性控制的支持。

该服务器提供了广泛的 IDE 功能,包括实时代码自动补全、符号重构以及跳转到定义和实现。它还包含一个代码格式化程序和一个文档生成器,可提取符号和注解以生成 Markdown 和 JSON 文件。

该服务器可以从源码构建,并可配置以匹配特定的语言版本和运行时环境。

Features

  • Lua IDE Integrations - Integrates autocompletion, go-to-definition, and real-time error checking for Lua within various code editors.
  • Semantic Code Analyzers - Provides real-time diagnostics and error detection through semantic analysis of the Lua source code.
  • Code Completion - Suggests variable names and code snippets during typing to accelerate the development process.
  • Code Symbol Navigators - Enables jumping to symbol definitions and locating all references of a specific element across the project.
  • Implementation Navigations - Allows developers to jump from a function call directly to its underlying source code implementation.
  • Language Server Protocol Implementations - Implements the Language Server Protocol to provide editor intelligence and formatting for Lua.
  • Real-time Code Autocompletes - Provides real-time code autocompletion and predictive suggestions for variables and functions during typing.
  • Real-Time Code Diagnostics - Provides real-time visual feedback on syntax mistakes and type errors during the editing process.
  • Static Code Analysis - Scans Lua source code for linting violations, syntax errors, and logic flaws without execution.
  • Symbol Information Providers - Displays detailed information and function signatures for code elements when hovering over them in the editor.
  • Context-Aware Suggestions - Recommends functions and variables based on current semantic context and type annotations.
  • Static Type Annotations - Allows assigning types or generics to variables and function arguments to enable static analysis.
  • LSP Server Implementations - Implements the server-side logic of the Language Server Protocol using JSON-RPC for IDE communication.
  • Function Signatures - Enables explicit definition of input parameters and return types for functions, including support for overloads.
  • Module Resolvers - Implements configurable lookup engines to resolve custom search paths and library directories for external modules.
  • External Library Definitions - Loads external definition files to provide type intelligence for third-party libraries and APIs.
  • Type Safety - Detects type mismatches in assignments and function signatures to ensure codebase-wide type safety.
  • Lua Static Analysis Tools - Identifies type mismatches, unused variables, and logic errors in Lua code before execution.
  • Lua Type Checkers - Defines custom types and annotations to enforce type safety and improve code predictability in Lua.
  • Type Inference Support - Deduces variable types by analyzing assignments and return values to enforce type safety during static analysis.
  • Symbol Definition Resolution - Enables locating the original declaration of variables, classes, or functions across the project workspace.
  • Type Annotations - Provides a system for defining and enforcing types through inline annotations and meta files for static analysis.
  • Type Inference Engines - Implements an inference-based type system that automatically deduces variable types from assignments and return values.
  • Language Grammar Validation - Identifies violations of Lua language grammar to prevent runtime failures.
  • User-Defined Types - Allows the definition of custom type aliases, enums, and class structures to enforce type safety.
  • Lua Type Checkers - Infers variable types and enforces type safety using optional annotations and meta files.
  • Static Type Checking - Analyzes variable and function types to detect potential mismatches before the code is executed.
  • Static Analysis AST Parsing - Parses source code into abstract syntax trees to detect structural errors and identify unused code.
  • Source Code Formatters - Includes a built-in formatter that automatically adjusts indentation and style to maintain consistent visual structure.
  • Code-to-Documentation Extractors - Extracts docstrings and symbols from source code to generate technical reference documentation.
  • Document Exporting - Generates project documentation in Markdown and JSON formats using defined filtering rules.
  • API Documentation Generators - Extracts codebase information to automatically generate documentation in Markdown and JSON formats.
  • Code Refactoring Tools - Provides project-wide symbol renaming and automatic source code formatting to maintain style consistency.
  • Definition-Only Files - Supports meta files that provide type definitions for other files without affecting functional analysis.
  • Symbol-Based Documentation Generators - Exports project symbols and annotations into JSON or Markdown files via a command-line interface.
  • Hover Information Displays - Displays detailed information and documentation comments in popups when hovering over symbols.
  • Project Workspaces - Isolates environments for different project roots to maintain independent global variables and settings.
  • API Documentation Generators - Extracts symbols and annotations from source code to generate structured technical API documentation.
  • Cross-Module Symbol Linking - Implements mechanisms for linking symbols across different modules to enable hyperlinked navigation in documentation.
  • Workspace Library Scopes - Includes external library implementation code and definition files in the project scope for better context.
  • Language Version Targeting - Allows restricting functions or classes to specific language versions to ensure static analysis compatibility.
  • Module Path Resolution - Translates module requests into specific filesystem paths to locate external libraries and dependencies.
  • Runtime Environment Configuration - Defines the language version and available libraries to match the target execution environment.
  • Third-Party Extension Installation - Enables the installation of external library definitions to provide intelligence for third-party frameworks.
  • Type Casting - Overrides inferred types using inline annotations to resolve complex type scenarios.
  • Lua Library Type Declarations - Provides the ability to describe external library signatures using meta files for accurate autocompletion.
  • Member Visibility Control - Supports restricting access to functions and fields through private, protected, and package-level scopes.
  • Member Access Verification - Blocks access to private class members from unauthorized scopes and flags deprecated variables.
  • Code Style Formatting - Standardizes code layout and enforces a consistent style guide across the codebase.
  • Dead Code Detectors - Highlights variables, functions, and arguments that are defined but never referenced across the project.
  • Lua API Documentation Generation - Extracts symbols and annotations from Lua source code to generate structured Markdown and JSON documentation.
  • Workspace Isolation - Maintains separate global variables and settings for different project roots to prevent cross-project interference.
  • AST Modification Plugins - Integrates custom scripts to modify ASTs, intercept text changes, and alter compilation behavior.
  • Server Capability Extenders - Allows adding custom API definitions and plugins to extend the server's knowledge of specific frameworks.
  • LSP Plugin Extensions - Supports third-party plugins that can hook into internal interfaces to modify the AST or resolve calls.
  • Static Logic Analyzers - Detects potential runtime risks and logic errors such as infinite loops and indexing nil objects.
  • Symbol Renamers - Allows for project-wide symbol renaming while automatically updating all references to the changed symbol.

Star 历史

luals/lua-language-server 的 Star 历史图表luals/lua-language-server 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

包含 Lua Language Server 的精选搜索

收录 Lua Language Server 的精选合集。
  • 用于构建 Web 应用的编程语言
  • Language Server Protocol (LSP) 实现

Lua Language Server 的开源替代方案

相似的开源项目,按与 Lua Language Server 的功能重合度排序。
  • myriad-dreamin/tinymistMyriad-Dreamin 的头像

    Myriad-Dreamin/tinymist

    2,907在 GitHub 上查看↗

    Tinymist is a comprehensive suite of tools for Typst document authoring, serving as a language server, document compiler, and project manager. It provides a standardized language service via the Language Server Protocol to enable editor features such as autocompletion, navigation, and semantic highlighting. The project distinguishes itself by integrating a TCP-based live preview server for real-time visual rendering and an advanced static analysis tool that utilizes abstract syntax trees and bidirectional type checking. It also includes a project management system capable of handling multi-fi

    Rustdapdap-serverformatter
    在 GitHub 上查看↗2,907
  • phan/phanphan 的头像

    phan/phan

    5,617在 GitHub 上查看↗

    Phan is a static analyzer and type checker for PHP that identifies bugs and type incompatibilities without executing the code. It serves as a quality gate for continuous integration pipelines and a tool for verifying type safety, specifically checking union types, generics, and array shapes. The project is distinguished by its use of a background daemon and Language Server Protocol implementation, which provide real-time diagnostics and navigation within editors. It also features a baseline-based suppression system that allows developers to record existing errors in a snapshot file to focus e

    PHP
    在 GitHub 上查看↗5,617
  • microsoft/typescript-handbookmicrosoft 的头像

    microsoft/TypeScript-Handbook

    4,855在 GitHub 上查看↗

    This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental principles of the language, including its structural type system, static type analysis, and the process of transpiling typed source files into JavaScript. The material details how to model complex data and reusable type logic using generics, conditional types, and mapped types. It also explains the use of declaration files to provide type safety for external JavaScript libraries and the integration of type checking into existing JavaScript projects via JSDoc annotations. The

    JavaScriptdocumentationlearntypescript
    在 GitHub 上查看↗4,855
  • ternjs/ternT

    ternjs/tern

    4,240在 GitHub 上查看↗

    Tern is an editor-independent code analyzer and static analysis engine for JavaScript. It functions as a language server that provides semantic intelligence by parsing source code into abstract syntax trees to infer types and resolve symbols without requiring manual type annotations. The engine distinguishes itself through the use of JSON-based type definitions, which allow it to describe library signatures and external dependencies without needing the original source code. It also features a plugin system that enables the extension of server functionality to support custom loaders or framewo

    JavaScript
    在 GitHub 上查看↗4,240
查看 Lua Language Server 的所有 30 个替代方案→

常见问题解答

luals/lua-language-server 是做什么的?

lua-language-server 是一个 Lua 语言的静态分析工具和类型检查器,实现了语言服务器协议 (LSP)。它提供了一套用于检测源文件中类型不匹配、死代码和逻辑错误的系统。

luals/lua-language-server 的主要功能有哪些?

luals/lua-language-server 的主要功能包括:Lua IDE Integrations, Semantic Code Analyzers, Code Completion, Code Symbol Navigators, Implementation Navigations, Language Server Protocol Implementations, Real-time Code Autocompletes, Real-Time Code Diagnostics。

luals/lua-language-server 有哪些开源替代品?

luals/lua-language-server 的开源替代品包括: myriad-dreamin/tinymist — Tinymist is a comprehensive suite of tools for Typst document authoring, serving as a language server, document… phan/phan — Phan is a static analyzer and type checker for PHP that identifies bugs and type incompatibilities without executing… microsoft/typescript-handbook — This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental… ternjs/tern — Tern is an editor-independent code analyzer and static analysis engine for JavaScript. It functions as a language… google/pytype — Pytype is a static code analysis tool and type inference engine for Python. It functions as a static type analyzer… zigtools/zls — ZLS is a language server for the Zig language that implements the Language Server Protocol to provide IDE-like…