Releases: sdzx-1/haskell-language-server
Releases · sdzx-1/haskell-language-server
1.4.10
[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
1.4.8
1.4.7
1.4.6
1.4.5
144
1.4.3
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
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]>