Comments (5)
I'm also running into this same issue. @dalance what would need to be done to get goto/find definitions implemented (if they're not already)?
I'm new-ish to rust but with some direction I could work on implementing the feature.
from svls.
Correct me if im wrong but right now the language server does not parse the full folder structure recursively nor maintain a cache of what exists where. I think the steps would be
- create a cache of all the modules/classes/functions and all recursively from the root of the project
- Create functions that return definitions, documentation, implementations and such from the cache
- Link these function to the ls protocol
Would that make sense @dalance
from svls.
@patgro1 That sounds sensible to me. However, number 1 is quite a large effort and probably shouldn't be done inside svls. Number 1 is essentially a compiler, maybe with an elaboration step. If there's a separate project which can create a cache of compiled objects, that would certainly be exciting to integrate into svls.
from svls.
Duplicate of #58
from svls.
@patgro1 That sounds sensible to me. However, number 1 is quite a large effort and probably shouldn't be done inside svls. Number 1 is essentially a compiler, maybe with an elaboration step. If there's a separate project which can create a cache of compiled objects, that would certainly be exciting to integrate into svls.
Assuming I wanted to do that in some way, would starting with the parser crate be ok or I would need to do it all from scratch?
also we could probably « negotiate » a representation of that cache in advance to facilitate any integration into svls (especially since it would be its main purpose)
from svls.
Related Issues (20)
- Putting .svlint.toml at the root of repository disabled all rules HOT 5
- LSP[svls][Warning] Failed to parse HOT 2
- Release new version with svlint 0.6.0 HOT 2
- Server crashes HOT 5
- how to configure to support "go to definition" on vscode? HOT 1
- fs::read_to_string() error handling - non UTF 8 encoded files. HOT 3
- Support for different linter command HOT 1
- Linter Support for VS Code
- Failed to compile 0.28 HOT 1
- svls not show svlint message
- Parse error in Kate HOT 2
- turn off creating new line after semicolon HOT 1
- Using svls with QTCreator
- Troubleshooting
- neovim does't show nothing
- Update svls version in vim-lsp-settings HOT 1
- svls language server fails to start in VSCode
- Cant get the linter to work in neovim HOT 1
- Configuration in home directory
- Request: use more sensible defaults HOT 4
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 svls.