Our great sponsors
-
python-lsp-server
Fork of the python-language-server project, maintained by the Spyder IDE team and the community
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
pharo
Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
There was a lengthy discussion on this [1]. UTF-16 was used because it was convenient: it's what Microsoft API's and JavaScript already use (the latter being the language VS Code is written in).
[1] https://github.com/microsoft/language-server-protocol/issues...
I came at the tail end of https://github.com/python-lsp/python-lsp-server/issues/195. The possibility of me sponsoring a fix came up, and I’m on board with it, but the other contributor never replied.
Agree this is not a problem. rust-analyzer also includes a boatload of custom extensions. Here's how "query type of selected expression" works, for example:
https://github.com/rust-lang/rust-analyzer/blob/master/docs/...
Recently I stumbled upon this issue:
https://github.com/joaotavora/eglot/discussions/1127
I don't know enough about emacs and LSP to see the full picture, but it seems that both eglot's and corfu's maintainers, assumably very competent programmers, can't find a solution for this.
I only skimmed the thread. My understanding is that LSP dumps a long list of completion candidates at once and they can't decide a cache strategy that works well with existing code...?
I'm curious to know what `company` does differently here than `corfu`. As a longtime user I couldn't be happier.
https://company-mode.github.io/
https://github.com/microsoft/vscode-debugadapter-node/issues...
The problem with the filesystem is that it privileges organization scheme which isn’t the best one for every editing task. This makes, for example, implementation inheritance hard because your class has a bunch of invisible code in it. But, it you could expand all the superclass methods into a single view and then have edits automatically integrated into the appropriate places, this wouldn’t be as much of a problem.
Java’s filesystem hierarchy is a great example of a “fileout” format for the sort of environment I’m talking about. Another example here is smalltalk repositories generated by Iceberg: https://github.com/pharo-vcs/iceberg
Related posts
- M-X Reloaded: The Second Golden Age of Emacs – (Think)
- Is it too late to learn emacs as a vim lifer?
- Mastering Emacs: What's new in Emacs 29.1
- New Package: Peek
- C —> Guile is moving in the wrong direction: rather than going from a poor-but-performant systems programming language like C to a pedagogic language like Scheme, it’d be a better idea to move to an rich-and-performant language meant for industrial systems programming like Common Lisp