Comments (5)
Thanks for reporting this, @Gert-JanPeeters!
I wonder if VSCode would still accept it with the file://
scheme, so we could use the same code for both.
Looking at this line here, I'm wondering why I opted for stripping it 🤔
stimulus-lsp/server/src/service.ts
Line 29 in 88f5fe5
from stimulus-lsp.
I went searching a bit and found a similar issue:
NomicFoundation/hardhat-vscode#355
I think that VSCode can deal with both but Neovim is forcing LSPs to use an URI with a scheme. Not really sure which scheme it has to be used but I am guessing file://
.
from stimulus-lsp.
I guess in that case we should be able to use always use file://
then 👍🏼
from stimulus-lsp.
I have investigated a bit further.
I tried changing this line:
stimulus-lsp/server/src/service.ts
Line 29 in 86bd86b
to
this.project = new Project(this.settings.projectPath)
But then things break. For example, stimulus-lsp cannot find the controllers anymore.
However, if I change:
stimulus-lsp/server/src/definitions.ts
Line 57 in 86bd86b
to:
const locations = controllers.map((controller) => Location.create(`file://${controller.path}`, Range.create(0, 0, 0, 0)))
The Goto definition works in neovim. However, I don't think we should make the change here.
If I am correct then it is stimulus-parser
that provides the paths to the locations? Maybe I should make an issue / pull request there to send the controller.path
with the right scheme?
from stimulus-lsp.
Thanks for investigating!
I think we should rather do it here in the repo, since this is more LSP specific. The Stimulus Parser could be used outside of an LSP context, which is why I think it doesn't really make sense to use the file://
scheme in the stimulus-parser
project.
from stimulus-lsp.
Related Issues (20)
- Tree View Item Code Action: Register unregistered Stimulus controller HOT 1
- Code Lens/Inlay Hints?: Annotate controller with targets/values/classes/actions the controller inherits from parent
- Add `stimulus` as a `contributes.languages` in VS Code client
- Installation process HOT 4
- Diagnostic: Add warning if a controller is never referenced in the HTML
- Twig support
- Blade support
- Missing Actions for Inherited/Extended Controllers HOT 3
- Diagnostic: Put controller actions in specific order
- Diagnostic: Calling `application.register` with a non-controller should warn you
- CodeLens: CodeLens is wrong when file defines more than one controller
- Code Action: Register controller after executing `stimulus.controller.create`
- Code Action: Refactor shorthand-value definition to explicit version HOT 1
- Code Action: Change Value Definition Type to known type
- Code Action: Change deprecated Stimulus imports
- LSP VS Code and Laravel HOT 4
- Allow custom entry point for the controllers to be scanned HOT 5
- Use `keyLoc` and `valueLoc` for value definition diagnostic HOT 1
- Stimulus LSP suggests HTML attributes in Ruby files
- Narrow `data-action` suggestions for given `data-controller` parent
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 stimulus-lsp.