Skip to content

Releases: sdzx-1/haskell-language-server

1.4.10

26 Oct 11:18
2474e7c
Compare
Choose a tag to compare
1.4.10 Pre-release
Pre-release
[hls-graph] clean up databaseDirtySet (#2294)

* attempt to fix hiedb lock errors

it looks like the test runner has a preexisting process locking the hiedb

* Move ghcide cache to the tmp folder

* Use ${{ runner.temp }}

* clean up the hie-bios cache too

* The runner context doesn't exist outside the steps section

1.4.9

24 Oct 16:27
Compare
Choose a tag to compare
1.4.9 Pre-release
Pre-release
Merge remote-tracking branch 'upstream/fix-alwaysrerun'

1.4.8

21 Oct 11:11
c163dc8
Compare
Choose a tag to compare
1.4.8 Pre-release
Pre-release
Merge branch 'master' into garbage-collection

1.4.7

21 Oct 02:01
8b5a1e0
Compare
Choose a tag to compare
1.4.7 Pre-release
Pre-release
Fix excessive interface recompilation caused by the Tactics plugin (#…

1.4.6

11 Oct 04:58
Compare
Choose a tag to compare
1.4.6 Pre-release
Pre-release
remove win mac build

1.4.5

07 Oct 07:09
d9fe9ac
Compare
Choose a tag to compare
1.4.5 Pre-release
Pre-release
Merge branch 'haskell:master' into master

144

05 Oct 04:57
c538874
Compare
Choose a tag to compare
144 Pre-release
Pre-release
1.4.4

Merge branch 'haskell:master' into master

1.4.3

05 Oct 04:53
682386d
Compare
Choose a tag to compare
1.4.3 Pre-release
Pre-release
Reimplement shake (continued) (#2060)

* Rewrite hls-graph to not use the Shake code

* redundant import

* Fix the bug

* add comments and format imports

* Fix another bug

* fix locking in incDatabase

* avoid calling withNumCapabilities on every build

* faster cleanup

* implement reverse deps

* --conservative-change-tracking

* Avoid grabbing the db lock when updating reverse deps

* update reverse deps asynchronously

* Profiling graph builds

* extend up profiling to record visiting steps

The main benefit of reverse dependency tracking is that we avoid unnecessary node lookups. However, these lookups were not shown in hls-graph profiles, hiding their real cost.

Concretely, if the number of lookups per build is proportional to the number of transitive dependencies of a node, which in turn is proportional to the number of transitive imports of a module, then we have an O(edges) complexity instead of an O(nodes) complexity, which is really bad for large projects.

This Diff extends the recorded data and the profiling UI to keep track
of visited nodes and to show them in a new column "Visited" of the "Rules" tab. The cost of doing this is storing an additional Int per node at runtime.

While I was editing the profiling UI, I took the chance to remove the command tabs, update the README and add some missing files

* include dirty set in profiles

* actionFork

* avoid spawning threads for simple lookups

* Fix a flaky test

* record changes to GetKnownTargets

* Readme for hls-graph

* Bump version numbers

* Drop dependency on Shake

* explain why we restart a Shake session

* clean up Internal.Database

* add a new benchmark example cabal-1module

* Fix masking and further reduce threading

* Trace aborted rule evaluations

* Fix code actions after cradle edit experiment

* Avoid spawning threads for build rules with 1 or fewer deps

* simplify a test

* hlint

* Add a test for off-editor changes

* Fix flaky tests

* fix incomplete pattern match in Tactics test suite

* Fix flaky tests

* attempt to fix tactics test suite in Windows

Co-authored-by: Neil Mitchell <[email protected]>

test2

27 Sep 03:54
682386d
Compare
Choose a tag to compare
test2 Pre-release
Pre-release
Reimplement shake (continued) (#2060)

* Rewrite hls-graph to not use the Shake code

* redundant import

* Fix the bug

* add comments and format imports

* Fix another bug

* fix locking in incDatabase

* avoid calling withNumCapabilities on every build

* faster cleanup

* implement reverse deps

* --conservative-change-tracking

* Avoid grabbing the db lock when updating reverse deps

* update reverse deps asynchronously

* Profiling graph builds

* extend up profiling to record visiting steps

The main benefit of reverse dependency tracking is that we avoid unnecessary node lookups. However, these lookups were not shown in hls-graph profiles, hiding their real cost.

Concretely, if the number of lookups per build is proportional to the number of transitive dependencies of a node, which in turn is proportional to the number of transitive imports of a module, then we have an O(edges) complexity instead of an O(nodes) complexity, which is really bad for large projects.

This Diff extends the recorded data and the profiling UI to keep track
of visited nodes and to show them in a new column "Visited" of the "Rules" tab. The cost of doing this is storing an additional Int per node at runtime.

While I was editing the profiling UI, I took the chance to remove the command tabs, update the README and add some missing files

* include dirty set in profiles

* actionFork

* avoid spawning threads for simple lookups

* Fix a flaky test

* record changes to GetKnownTargets

* Readme for hls-graph

* Bump version numbers

* Drop dependency on Shake

* explain why we restart a Shake session

* clean up Internal.Database

* add a new benchmark example cabal-1module

* Fix masking and further reduce threading

* Trace aborted rule evaluations

* Fix code actions after cradle edit experiment

* Avoid spawning threads for build rules with 1 or fewer deps

* simplify a test

* hlint

* Add a test for off-editor changes

* Fix flaky tests

* fix incomplete pattern match in Tactics test suite

* Fix flaky tests

* attempt to fix tactics test suite in Windows

Co-authored-by: Neil Mitchell <[email protected]>

test1

27 Sep 03:51
682386d
Compare
Choose a tag to compare
test1 Pre-release
Pre-release

test