-
-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linter not available #1533
Comments
Hey @isaacabraham 👋, Thanks for backing our project. If possible, We will handle your Thanks again for backing us 🎉! |
Yep! Fsharplint integration has been disabled for about a month now, because that project is behind in its support for FCS 39. There is an open PR, but it has languished for a bit. It's the same root problem as with FAKE: tight integrations require upkeep, and if we can't keep those integrations up to date it's a judgement call if it's worth keeping the entire application (including FCS perf/bugfixes/etc) held back for that. |
Longer term, it would be ideal to have these sorts of integrations as an out-of-process model, and we might look in that direction with fantomas leading the way, but out-of-process also implies another, not-shared FSharpChecker instance which could have negative impacts on memory usage. |
@baronfel I think there is an argument to be made for being very conservative as far as removing large features. This effects a huge number of people very negatively. If I was just coming to F# and I discovered it's primary IDE plugin didn't even have linting..... well I'd use C# and never look back. |
That certainly an option! The difference here as issues to C# primary comes down to linting and this tooling being OSS only, not MS-backed as they are for C#. That naturally means that available effort is limited. As such, I have to prioritize remaining compatible with language features as they are released, or stagnating. I choose to stay up to date with new compiler releases, while sending what updates I can to projects I do not directly control for external features. This strikes the best balance in my opinion, using the limited resources at my disposal. |
AHH I wasn't aware there had been a significant change to the language spec. I agree that not supporting current language features is a serious issue in its own right. I am very sorry for my undue criticism. You clearly have a difficult choice to make and I very much thank you for making it :). Keep up the great work :) Would it maybe be worth looking at https://github.com/fsprojects/fsharp-language-server which does have working (though less sophisticated) linting or at least mentioning it somewhere along with a acknowledgment that linting is broken? |
@faldor20 I think fsharp language server kind of offer the same level of linting as Ionide as it is not using FSharpLint in it. They display the hint coming from the F# compiler. Also, fsharp language server is a bit behind Ionide in term of language features. There is a PR open fsprojects/fsharp-language-server#93 to upgrade it to the latest version of FCS at the time of the PR. |
@MangelMaxime I know there was some discussion about merging the two projects. Yes it definitely doesn't cover the same features but it is many times faster and is much more reliable. I find big or complicated projects often just result in fsac throwing errors or working glacially slowly. I recently tried using the typeshape library it was agony. I assume it was related to reflection and generics and stuff but fsac just completely stopped. Had to switch to fsharp language server. |
It looks like FSharpLint has now been updated with version v0.19.0. |
yep! I've got a branch locally where I'm trying to update and reenable the tests. I've run into a couple issues though. |
Describe the bug
The FSLint integration appears to be broken. No lint warnings appear, although I have ensured that the linter is turned on.
Steps to reproduce
I've tested with the dotnet FS Lint tool and that still works.
Machine info
The text was updated successfully, but these errors were encountered: