Comments (8)
Those are really good suggestions @laughedelic! We've just got the ball rolling and it's very promising. We'll see where this take us :)
from metals.
autocomplection - I have seen IDEs help complect code before but I'm not sure it's a feature we should enable.
from metals.
I was just being silly. To be more helpful, regarding the original bullet point:
/s/autocomplection/autocompletion
from metals.
To me, autocompletion, textDocument/definition
and textDocument/rename
are the killer features. I'm glad you're working on this @gabro, I think a hybrid of the presentation compiler and semanticdb can be a very interesting avenue to explore to provide people with better tooling.
from metals.
I agree @jvican! Those would finally give any editor a great Scala experience without the burden of a full-fledged IDE.
definition
and rename
are definitely within reach using scalameta and scalafix respectively.
For autocompletion, I've zero experience on how the presentation compiler works, but I hope that will change soon :D
from metals.
Hi! I just discovered this project and I'm really glad that it already exists! 👏 I was thinking how to use scalameta for creating a Scala language server, but I don't know almost anything about it and it would take me a lot of time to start and make anything working..
Here are some more LSP requests that, I think, could be in reach of SemanticAPI:
textDocument/hover
to show type information on hovertextDocument/signatureHelp
to show method/constructor signature when filling its parameterstextDocument/references
to find project-wide references for the given symbol. I guess, once you haveworkspace/symbol
, it should be easy.textDocument/documentHighlight
similar toreferences
, but local to the document (docs also say it's more "fuzzy")textDocument/codeAction
to apply scalafixes?The code action request is sent from the client to the server to compute commands for a given text document and range. These commands are typically code fixes to either fix problems or to beautify/refactor code.
from metals.
@ShaneDelmore you mean snippets?
from metals.
I think the roadmap we have in the README is comprehensive enough. Closing.
from metals.
Related Issues (20)
- [java] Inconsistent results of goto def depending on the code style
- [java] goto definition doesn't work when generic method is present
- Asterisk to underscore replacement when organizing imports in Scala 3 HOT 2
- Broken completion and highlighting in multi-line string interpolation in worksheets HOT 3
- Please support Scala 2.13.14 HOT 12
- metals doesn't detect `./gradlew` script in a project with multiple build tools HOT 7
- Bloop compilation seems to fail HOT 7
- Implicit parameters inlay hints unstable with Scala 3 HOT 1
- Metals doesn't import build using Maven or Gradle when using `"metals.defaultBspToBuildTool": true` HOT 2
- Version 4.0 of `sbt-debug-adapter` breaks `sbt` HOT 5
- metals-doctor-run client command has optional html arg HOT 5
- Infinite indexing when using snpapshot version HOT 2
- Scala 3.4.1 apparently unsupported in metals, behind corporate proxy HOT 3
- Metals not starting (couldn't create connection to server) Error code: Code: -32097 HOT 1
- JdbcBatchUpdateException: Unique index or primary key violation PUBLIC.PRIMARY_KEY_3 HOT 3
- Reconnecting to build server doesn't reset "Connecting to sbt" status HOT 3
- “Insert type annotation” wrongly infers `Any` type HOT 4
- constant state of 'Indexing' HOT 18
- Not seeing auto import in quick fix prompt since v1.32.0. HOT 1
- Metals version info hangs
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from metals.