curry-language-server
curry-language-server copied to clipboard
IDE support for the functional logic language Curry
Now that GitHub has free M1 runners for open-source, we should investigate providing arm64 macOS binaries in our releases.
We'd want to make sure that different versions of the language server can coexist, even if we make breaking changes to the ICurry format (e.g. as proposed in https://github.com/fwcd/curry-language-server/issues/26#issuecomment-1935329510). Therefore...
Find symbols in the project's source file, even if the compiler refers to a definition from an `ICurry` file.
At the very least, we shouldn't emit errors there and handle it like the compilers.
Similar to the Haskell language server: ![image](https://github.com/fwcd/curry-language-server/assets/30873659/86799dec-65c5-47f0-a01d-9c7403cb9e3c) We might want to disable the 'apply' command, since explicit method type signatures are not valid Curry syntax.
[This extension](https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/overloaded_record_dot.html) has been merged in GHC 9.2 and would allow us to drop the field prefixes.
We currently hardcode `.curry`, `.curry/language-server`, `paths.json` and `package.json` in quite a few places. We should probably move that to a function, at least, and ideally make it configurable too.
Consider the following project layout ``` ├─ .curry ├─ project1 │ ├─ .curry │ ├─ src │ └─ package.json └─ project2 ├─ .curry ├─ src └─ package.json ``` Currently, the...
It would be cool if the language server could provide code completions for the frontend's flags, e.g. `-Wno-missing-signatures` in `OPTIONS_FRONTEND` pragmas. Ideally, the language server would query the available flags...
### Fixes #39 Provide semantic highlighting in Curry documents. To do: - [x] Add semantic tokens request for full documents - [x] Implement `HasSemanticTokens` for syntax tree nodes containing `Ident`s...