Comments (7)
See #106 and (subsequently) 3f042ec.
from elm-mode.
Perhaps that provides a bit of context about what the trade-offs might be.
from elm-mode.
So eglot and elm lang server really need that for completion to work? I mean, model.state
are actually two symbols, not one?
And can these programs complete JD.decode
if JD is an import Json.Decoder as JD
?
Do these programs also have a "jump to definition" that works with dot being a symbol constituent?
from elm-mode.
So eglot and elm lang server really need that for completion to work?
Yes, as far as I remember.
I'm not working with Elm much these days, so maybe try applying your suggested change and see what works or perhaps doesn't with elm-language-server
.
from elm-mode.
I currently don't have time to investigate elm-language-server
s behavior – I don't use it myself. I'll fix this in my own emacs config for now.
I'd suggest we leave this issue open as reference for others.
Generally, I think it's better to define the syntax entries semantically correct, i.e. "." not being a symbol constituent because most of the time it isn't. To be honest, I can hardly imagine that the language server needs multiple identifiers to be understood as one term for completion to work.
from elm-mode.
semantically correct "." not being a symbol constituent because most of the time it isn't.
In Maybe.map
, the .
is a symbol constituent. One would reasonably expect symbol-at-point
to return Maybe.map
there, not map
.
I can hardly imagine that the language server needs multiple identifiers to be understood as one term for completion to work
Really? For the backend to know whether to correctly complete "ma" to "map" or something else, it needs to know whether or not that string is a prefixed symbol like Maybe.ma
.
But yes, needs some testing before we can know if a change is warranted.
from elm-mode.
Hm, I would have seen Maybe.map
as two identifiers i.e. two symbols: Maybe
the identifier for the module and map
the identifier for the function within the module. I thought most IDE integration tools are context-aware to a degree.
from elm-mode.
Related Issues (20)
- Types of items for imenu should be optional. HOT 3
- Evil - Deleting around a paragraph deletes to the end of buffer HOT 7
- Not all warnings from elm-analyse are shown HOT 1
- Indentation after parens produces unwanted completion
- How to enable format-on-save for all Elm buffers? HOT 4
- Incorrect Indentation for HTML Attributes
- package install failed: HOT 2
- project-root definition causes errors with lsp-mode HOT 5
- Indent tab cycling not working as expected for me HOT 3
- Refurbish elm-mode HOT 5
- Remove reliance on reformatter HOT 3
- indentation mode inserts tabs, but elm compiler does not accept tabs HOT 3
- Proposal: highlight exposed functions HOT 1
- Performence issue with large elm files HOT 4
- default binding use elm-mode-format-buffer HOT 1
- Tabs cannot be turned off suddenly HOT 2
- Compilation errors on Emacs 28.1 HOT 3
- `effect` should not be considered a keyword HOT 3
- Bad indentation when editing elm file
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 elm-mode.