Code Monkey home page Code Monkey logo

langserver.github.io's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

langserver.github.io's Issues

More Vim LSP clients

I'm not in a position to test them at the moment, but here are a couple of Vim language server implementations you haven't listed:

  1. autozimu/LanguageClient-neovim (For NeoVim only. According to the README and the demo GIFs, it's got support for Code Completion (by integrating with deoplete), Hover, Jump to Definition, Rename, and symbol search.)

  2. prabirshrestha/vim-lsp (Experimental and undocumented but, unlike any other options I'm aware of, it supports Vim 8.x in addition to NeoVim. From the code, it appears to support Hover, Jump to Definition, and symbol search.)

I don't know how to evaluate whether something provides diagnostics, so I can't give an answer on that column.

Add Oni to the LSP-clients list

Oni is a Neovim GUI which has its own LSP client implementation (separate of Vim/Neovim).

Implemented so far (as far as I confirmed):

  • Code completion
  • Hover
  • Jump to def
  • Find references

Use Jekyll to seperate data from markup

The information from the tables could be stored in one of the languages supported by Jekyll (YAML, JSON, or CSV) then the page could built via Jekyll with use of Liquid templates. GitHub Pages would take care of the building. This should make it easier to add implementations and easier to change the markup in the future (if desired).

Happy to submit a PR if interested.

Add GNOME Vala Language Server (GVls)

GVls is a LSP implemention for a Client and Server, written in Vala, it used by GNOME Builder for its Vala support.

GVls supports:

  • Code completion
  • Hover
  • Jump to def
  • Workspace symbols
  • Diagnostics

LSP Community Slack Workspace

There is now a Slack workspace (Community LSP) for public discussions of LSP clients, servers, sdks, etc.
This open invitation can be used to join.
It would be good to post this information.

Fix LSP spec extensions links

The VFS link is old and should go to the new draft files and content spec.

The page should also include information about the new symbols and global refs extensions.

sourcegraph/javascript-typescript-langserver is deprecated - theia-ide/typescript-language-server is recommended

From the sourcegraph/javascript-typescript-langserver README:

โš ๏ธ This project is no longer maintained ... On top of that, over time we simplified our architecture for running language servers in the cloud at Sourcegraph which removed the necessity for this level of tight integration and control. Theia's TypeScript language server is a thinner wrapper around tsserver, which avoids these problems to some extent.

This affects the Javascript and Typescript rows in the language server table. Should I make a PR?

Edit: Also fyi, theia-ide/typescript-language-server, despite the name, also supports Javascript as well as Typescript

Include language servers providing Diagnostics

We developed a language server (SonarLint) that run static analysis for different languages, but no other language features. The current way to present language servers "per language" doesn't fit well with our server implementation.

go-langserver recommends using bingo

sourcegraph's go-langserver has a note on its readme:

Note: We have deprioritized work on this language server for use in editors in favor of Google's upcoming Go language server. It is in the best interests of the community to only have a single language server. If you want to use a Go language server with your editor in the meantime, try https://github.com/saibing/bingo, which is a partial fork of this repository with fixes for Go modules and other editor bugs.

Seems like the table should at least reference bingo.

Add Phan's language server implementation for PHP (Diagnostics only)

See https://github.com/phan/phan/wiki/Editor-Support#editors-with-phan-support
The only language server feature this provides is diagnostics, but this catches a wide range of issues with low false positive rates.
It has a mode that is reasonably fast at analyzing a small subset of files from a large project.
(And it is aware of definitions function/class/const/etc from the entire project; it requires that the files and folders of the project be specified in .phan/config.php).

This works with language clients written for VSCode and phan, and should work for others.

error_detection

LLVM is working on a language server for Clang

Just under a week ago (on the 7th), an early prototype Language Server for Clang was committed to LLVM trunk:

Add a prototype for clangd

clangd is a language server protocol implementation based on clang. It's
supposed to provide editor integration while not suffering from the
confined ABI of libclang.

This implementation is limited to the bare minimum functionality of
doing (whole-document) formatting and rangeFormatting. The JSON parsing
is based on LLVM's YAMLParser but yet most of the code of clangd is
currently dealing with JSON serialization and deserialization.

This was only tested with VS Code so far, mileage with other LSP clients
may vary.
-- https://reviews.llvm.org/rL294291

This sounds like what Language servers > Works in progress is for.

Add JSON variants

The VSCode JSON language server also includes support for JSON Schema.

With JSON Schema and JSON-LD gaining wider adoption, it's important to note the support or lack thereof of various JSON language server implementations for these technologies.

I propose either

  1. listing them as separate languages - technically pure JSON files don't have support for Hover or Code Completion, this is only provided based on JSON Schema. If another implementation were to use JSON-LD to add descriptions on hover, it would need to be separate
  2. adding a note describing the level of support for them

Use a sticky table header

The problem

When I visit langserver.org to check the implementation table, I often have to scroll back up to the top of the table to check the headers. If I'm checking an implementation low on the table, I'll see something like

|           |        |     |   |   |  |  |   |     
+-----------+--------+-----+---+---+--+--+---+------
| lang-name | author | url | โœ“ | โœ“ |  |  | โœ“ | notes
+-----------+--------+-----+---+---+--+--+---+------
|           |        |     |   |   |  |  |   |     

which hides which column represents which feature. Since there's no natural order to the list of features implemented, I'm unlikely to remember the column order.

Proposed solution

Use a position: sticky header on the <thead>s of the large tables.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.