AIDL Language Server Protocol (LSP) server

Related tags

IDEs aidl-lsp
Overview

AIDL Language Server Protocol (LSP) server

Experimental AIDL LSP server based on rust-aidl-parser.

Features:

  • diagnostics
  • workspace symbols (Ctrl+T in vscode)
  • document symbols (Ctrl+Shift+O in vscode)
  • goto definition (Ctrl+Click in vscode)
  • hover (mouse over in vscode)
  • vscode extension

TODO:

  • handle watched files

For language-specific features, see rust-aidl-parser.

Comments
  • LSP server incorrectly claims that direction is required for objects

    LSP server incorrectly claims that direction is required for objects

    The LSP server gives an error "Missing direction for Test" for this interface:

    package test;
    
    import test.Test;
    
    interface TestInterface {
        void test(Test test);
    }
    

    However, the AIDL compiler allows it.

    opened by qwandor 0
  • LSP server doesn't recognise builtin ParcelFileDescriptor type

    LSP server doesn't recognise builtin ParcelFileDescriptor type

    When parsing an AIDL file which refers to a ParcelFileDescriptor, the LSP server gives an error that it is an unknown type. However ParcelFileDescriptor is a builtin type, so it can be used without any import.

    e.g.

    package test;
    
    parcelable Test {
        ParcelFileDescriptor file;
    }
    
    opened by qwandor 0
  • Incorrect license and copyright for TextMate grammar

    Incorrect license and copyright for TextMate grammar

    https://github.com/bwalter/aidl-lsp/blob/main/editors/code/package.json and https://github.com/bwalter/aidl-lsp/blob/main/editors/code/LICENSE says that everything is under the MIT license and copyright Benoit Walter, but the TextMate grammar https://github.com/bwalter/aidl-lsp/blob/main/editors/code/aidl.tmLanguage.json has been copied from https://github.com/google/aidl-language which is copyright Google LLC and released under the Apache License version 2.0.

    Please correct the copyright notices and license information in this project to make that clear.

    opened by qwandor 0
  • LSP server doesn't recognise nested enums

    LSP server doesn't recognise nested enums

    AIDL allows enums to be nested under parcelables, but the LSP server doesn't accept it. E.g.:

    package test;
    
    parcelable TestWithEnum {
        enum TestEnum {
            ONE,
            TWO,
        }
    
        TestEnum number;
    }
    
    android-T 
    opened by qwandor 2
  • LSP server doesn't recognise unions

    LSP server doesn't recognise unions

    The LSP server gives an "Unrecognised token" error for the following AIDL file, which the AIDL compiler accepts:

    package test;
    
    union TestUnion {
        String a;
        String b;
    }
    
    android-12 
    opened by qwandor 0
Owner
Benoit Walter
Benoit Walter
impl LSP (Language Server Protocol) Server for librime

rime-ls 为 rime 输入法核心库 librime (的部分功能) 实现 LSP 协议, 从而通过编辑器的代码补全功能输入汉字. 项目还处在早期阶段, 各方面都非常不成熟. 目标是提供 rime + LSP 的通用解决方案, 在不同编辑器内实现与其他 rime 前端类似的输入体验. Feat

zilch40 55 Jan 22, 2023
Language Server Protocol (LSP) support for vim and neovim.

For legacy python implementation, see branch master. LanguageClient-neovim Language Server Protocol support for vim and neovim. More recordings at Upd

Junfeng Li 3.5k Dec 29, 2022
Fennel language server protocol (LSP) support.

fennel-language-server Fennel language server protocol (LSP) support. fennel-language-server is currently in a very early stage and unreliable. Use it

null 68 Dec 27, 2022
LSP inline hints for Lua, intended for use with Neovim.

luahint LSP inline hints for Lua, intended for use with Neovim. Now that inline hints are working in Neovim nightly, I figured I'd attempt to build an

Will Hopkins 15 Jun 15, 2023
Kakoune Language Server Protocol Client

Kakoune Language Server Protocol Client kak-lsp is a Language Server Protocol client for Kakoune implemented in Rust. Installation Note kak-lsp.toml d

null 495 Dec 17, 2022
WIP: Asynchronous Language Server Protocol framework

async-lsp Asynchronous Language Server Protocol (LSP) framework based on tower. ⚠️ This project serves as a proof-of-concept for LSP with middlewares

null 9 Apr 11, 2023
IDE tools for writing pest grammars, using the Language Server Protocol for Visual Studio Code, Vim and other editors

Pest IDE Tools IDE support for Pest, via the LSP. This repository contains an implementation of the Language Server Protocol in Rust, for the Pest par

pest 20 Apr 8, 2023
Rust IDE support for Atom, powered by the Rust Language Server (RLS)

IDE-Rust Rust language support for Atom-IDE, powered by rust-analyzer. Features Auto-completion Diagnostics (errors and warnings from rustc) Document

The Rust Programming Language 239 Dec 14, 2022
An experimental proofreading and linting language server for markdown files ✍️

prosemd is an experimental proofreading and linting language server for markdown files. It aims to provide helpful and smart diagnostics when writing

Phil Pluckthun 132 Dec 14, 2022
Repository for the Rust Language Server (aka RLS)

Rust Language Server (RLS) The RLS provides a server that runs in the background, providing IDEs, editors, and other tools with information about Rust

The Rust Programming Language 3.6k Dec 30, 2022
Experimental treesiter based language server, let's see how far this goes 😆.

tsls Tree-sitter based language server for general languages. Warning: It's in active development right now, and bug is expected. Features Go To Defin

Keyv Chan 16 Sep 11, 2022
A brand-new language server for Typst, plus a VS Code extension

Typst LSP A brand-new language server for Typst. Features Syntax highlighting, error reporting, code completion, and function signature help Compiles

Nathan Varner 414 Apr 17, 2023
Rust language support in Atom - LOOKING FOR MAINTAINER, see #144

Rust language support in Atom Adds syntax highlighting and snippets to Rust files in Atom. Install Install the package language-rust in Atom (Preferen

Andreas Neuhaus 118 Oct 11, 2022
RustDT is an Eclipse based IDE for the Rust programming language:

Project website: http://rustdt.github.io/ As of 2017, RustDT is no longer actively maintained, see this blog post for more information. If you are int

null 351 Aug 20, 2022
The official Sublime Text 3 package for the Rust Programming Language

Rust Enhanced About This is a Sublime Text 3 package which supports Rust starting with version 1.0, it makes no attempt at supporting earlier incompat

The Rust Programming Language 704 Jan 7, 2023
rust-analyzer is a modular compiler frontend for the Rust language

rust-analyzer is a modular compiler frontend for the Rust language. It is a part of a larger rls-2.0 effort to create excellent IDE support for Rust.

null 11.2k Jan 8, 2023
A LSP (Language Server Protocol) server for OpenSCAD.

openscad-LSP A LSP (Language Server Protocol) server for OpenSCAD. inspired by dzhu/openscad-language-server Tested with VSCode on Mac and Windows. Te

Leathong 20 Dec 15, 2022
impl LSP (Language Server Protocol) Server for librime

rime-ls 为 rime 输入法核心库 librime (的部分功能) 实现 LSP 协议, 从而通过编辑器的代码补全功能输入汉字. 项目还处在早期阶段, 各方面都非常不成熟. 目标是提供 rime + LSP 的通用解决方案, 在不同编辑器内实现与其他 rime 前端类似的输入体验. Feat

zilch40 55 Jan 22, 2023
Language Server Protocol (LSP) support for vim and neovim.

For legacy python implementation, see branch master. LanguageClient-neovim Language Server Protocol support for vim and neovim. More recordings at Upd

Junfeng Li 3.5k Dec 29, 2022
Fennel language server protocol (LSP) support.

fennel-language-server Fennel language server protocol (LSP) support. fennel-language-server is currently in a very early stage and unreliable. Use it

null 68 Dec 27, 2022