Skip to content
Snippets Groups Projects
  1. Nov 18, 2021
    • Javier Neira 's avatar
      Prepare 1.5.0 (#2361) · 311107ea
      Javier Neira authored
      * Use hackage version of czipwith
      
      * Update stack.yaml's
      
      * Remove source czipwith
      
      * Update index and clean cabal-ghc921.project
      
      * extra-1.7.9 has a breaking change so no way
      
      * Increase resources for circleci
      
      As for November 16, circleci has set a timeout of 1 hour for jobs in free plans
      Trying to increase resources to make the build faster as suggested by its support center
      
      * Use more threads reduce build times
      
      * Correct runs-on field
      
      * Update stack.yaml's
      
      * Dont fail fast if we are checking
      
      * Use ref_name to check it is a check
      
      * Bump patch version of brittany plugin
      
      * Allow newer base/th for czipwith
      
      * Add enough allow-newers to allow build the project
      
      Having all subpackages included in the `packages` field
      
      * Correct allow-newer's
      
      * Add missing cd's
      
      * Bump up ghcide to 1.5.0
      
      * Exclude pkgs not buildable with 9.0.1
      
      * Bum up plugins with changes versions
      
      * Bum up subpackages with changes versions
      
      * Bum up hls version to 1.5.0
      
      * Bump up haddock plugin version
      
      * Allow ghcide 1.5
      
      * Use ghcide 1.5.0 in the rest of plugins
      
      * Use ghcide 1.5.0 for pragmas
      
      * Allow tactics 1.5.0 for hls
      
      * Remove czipwith in hackage ci script
      
      * Disable 9.0.1 for hackage ci
      
      * Use bounds operator consistently
      
      * Build formatters with newer ghc-lib-parser
      
      * Only stylish-haskell needs newer ghc-lib
      
      * Avoid ghc-9.0.1 in other way
      
      * Script needs a min time version
      
      * First draft of 1.5.0 changelog
      
      * Comment out hackage for 9.0.1
      
      * allow newer ghc-lib-parser
      
      * Remove redundant entry
      
      * Correct condition
      
      * Cancel previous hackage jobs
      
      * Add link to pepe's talk slides
      
      * Use th-extras master
      
      * Use th-extras master and uncomment packages
      
      * add extra-1.7.9
      
      * Add required extra-deps
      
      * Comment unbuildable packages again
      
      * Add ignore-plugins-ghc-bounds
      
      * Add #2354
      
      * Complete ghc deprecation notice
      
      * Add extra-1.7.9
      
      * Add #2346 to Changelog
  2. Nov 17, 2021
    • Javier Neira 's avatar
      Use hackage version of czipwith (#2346) · 07042d40
      Javier Neira authored
      
      * Use hackage version of czipwith
      
      * Update stack.yaml's
      
      * Remove source czipwith
      
      * Update index and clean cabal-ghc921.project
      
      * extra-1.7.9 has a breaking change so no way
      
      * Increase resources for circleci
      
      As for November 16, circleci has set a timeout of 1 hour for jobs in free plans
      Trying to increase resources to make the build faster as suggested by its support center
      
      * Use more threads reduce build times
      
      * Correct runs-on field
      
      Co-authored-by: default avatarPepe Iborra <pepeiborra@gmail.com>
      07042d40
  3. Nov 16, 2021
  4. Nov 15, 2021
    • Kota Yoshitsugu's avatar
      Skip parsing without haddock for above GHC9.0 (#2338) · 4e2a99e4
      Kota Yoshitsugu authored
      * Skip parsing without haddock for above GHC9.0
      
      * Use runtime ghc version check
      
      * Need parse twice in getParsedModuleRule
      
      * Include sortText in completions and improve suggestions (#2332)
      
      * sort completions
      
      * add an example
      
      * Include fuzzy scores in completions sort text
      
      * hlints
      
      * Extend completion documentation to inform whether an identifier is alreaady imported
      
      * Ditch alphabetical ordering - it's incompatible with qualified completions
      
      * Fix bugs in completion help text
      
      This fixes the ugly "Imported from 'Just B'" and other inconsistencies
      
      * added tests for qualified completions
      
      * Fix redundant import
      
      * Inline Fuzzy.match to apply [1] and to be case-sensitive on first match
      
      [1] - https://github.com/joom/fuzzy/pull/4
      
      
      
      * fixup! Fix bugs in completion help text
      
      * Sort qualified completions first
      
      * Filter out global suggestions that overlap with local
      
      For example, don't suggest GHC.Exts.fromList when Data.Map.fromList is in scope alraedy
      
      * Sort completions alphabetically
      
      * Show provenance in detail text
      
      * Sort local/in-scope completions first
      
      * Fix build with GHC 9
      
      * Ignore func symbol tests
      
      Co-authored-by: default avatarAlex Naspo <alex.naspo@protonmail.com>
      Co-authored-by: default avatarJavier Neira <atreyu.bbb@gmail.com>
      
      * Give unique names to post-jobs (#2337)
      
      * Restore comment
      
      * Parse only with Haddock above GHC90
      
      * Remove obsolete comment
      
      Co-authored-by: default avatarPepe Iborra <pepeiborra@gmail.com>
      Co-authored-by: default avatarAlex Naspo <alex.naspo@protonmail.com>
      Co-authored-by: default avatarJavier Neira <atreyu.bbb@gmail.com>
      4e2a99e4
  5. Nov 14, 2021
  6. Nov 12, 2021
    • Pepe Iborra's avatar
      Improve the performance of GetModIfaceFromDisk in large repos and delete GetDependencies (#2323) · ab46fe8d
      Pepe Iborra authored
      * Improve the performance of GetModIfaceFromDisk in large repos
      
      There are three benefits:
      1. GetModIfaceFromDisk and GhcSessionDeps no longer depend on the transitive module summaries. This means fewer edges in the build graph = smaller build graph = faster builds
      2. Avoid duplicate computations in setting up the GHC session with the dependencies of the module. Previously the total work done was O(NlogN) in the number of transitive dependencies, now it is O(N).
      3. Increased sharing of HPT and FinderCache. Ideally we should also
         share the module graphs, but the datatype is abstract, doesn't have a
         monoid instance, and cannot be coerced to something that has. We will
         need to add the Monoid instance in GHC first.
      
      On the Sigma repo:
      - the startup metric goes down by ~34%.
      - The edit metric also goes down by 15%.
      - Max residency is down by 30% in the edit benchmark.
      
      * format importes
      
      * clean up
      
      * remove stale comment
      
      * fix build in GHC 9
      
      * clean up
      
      * Unify defintions of ghcSessionDeps
      
      * mark test as no longer failing
      
      * Prevent duplicate missing module diagnostics
      
      * delete GetDependencies
      
      * add a test for deeply nested import cycles
      
      * Fix build in GHC 9.0
      
      * bump ghcide version
      
      * Introduce config options for the main rules
      
      Surfacing the performance tradeoffs in the core build rules
      
      * Avoid using the Monoid instance (removed in 9.4 ?????)
      
      * Fix build with GHC 9
      
      * Fix Eval plugin
      ab46fe8d
  7. Nov 11, 2021
  8. Nov 10, 2021
    • Anton Latukha's avatar
      add dependabot: add Actions CI merge requests automation (#2339) · bca2cc97
      Anton Latukha authored
      
      Dependabot would send merge requests
      [like these](haskell-nix/hnix-store#169)
      
      Co-authored-by: default avatarJavier Neira <atreyu.bbb@gmail.com>
      bca2cc97
    • Pepe Iborra's avatar
      Trace diagnostics (#2333) · 9415e556
      Pepe Iborra authored
      
      * trace rule diagnostics
      
      * disable checkProject in HLS test suite
      
      We already disable this in ghcide tests
      It introduces noise (traces are harder to read),
      and can potentially break tests too (e.g. eval plugin)
      
      * Undo breaking auto-format
      
      * fix missing import
      
      * Fix splice plugin tests
      
      * Fix test
      
      Co-authored-by: default avatarJavier Neira <atreyu.bbb@gmail.com>
      9415e556
    • Javier Neira 's avatar
      Give unique names to post-jobs (#2337) · f54bf55b
      Javier Neira authored
      f54bf55b
    • Pepe Iborra's avatar
      Include sortText in completions and improve suggestions (#2332) · 26668f74
      Pepe Iborra authored
      * sort completions
      
      * add an example
      
      * Include fuzzy scores in completions sort text
      
      * hlints
      
      * Extend completion documentation to inform whether an identifier is alreaady imported
      
      * Ditch alphabetical ordering - it's incompatible with qualified completions
      
      * Fix bugs in completion help text
      
      This fixes the ugly "Imported from 'Just B'" and other inconsistencies
      
      * added tests for qualified completions
      
      * Fix redundant import
      
      * Inline Fuzzy.match to apply [1] and to be case-sensitive on first match
      
      [1] - https://github.com/joom/fuzzy/pull/4
      
      
      
      * fixup! Fix bugs in completion help text
      
      * Sort qualified completions first
      
      * Filter out global suggestions that overlap with local
      
      For example, don't suggest GHC.Exts.fromList when Data.Map.fromList is in scope alraedy
      
      * Sort completions alphabetically
      
      * Show provenance in detail text
      
      * Sort local/in-scope completions first
      
      * Fix build with GHC 9
      
      * Ignore func symbol tests
      
      Co-authored-by: default avatarAlex Naspo <alex.naspo@protonmail.com>
      Co-authored-by: default avatarJavier Neira <atreyu.bbb@gmail.com>
      26668f74
    • Javier Neira 's avatar
      [skip circleci] Rename hlint test data files and add regression tests (#2321) · 7011d5e3
      Javier Neira authored
      * Rename test data files
      
      * Add regression tests
      
      * Add regression test for #1279
      
      * Use timeout
      
      * Correct waitForProgressDone in ghcide
      
      * Remove unnecessary waitForDiagnostics
      
      * Mark test broken for hlint on ghclib
      
      * Add test over unused extensions
      
      * Add test for #2042
      
      * Add data for #2280
      
      * Use waitForAllProgressDone
      
      * Add test for #2280
      
      * correct module name
      
      * Add reproduction for #2290
      
      * Correct test case
      
      * Comment about knownBrokenForHlint*
      
      * Correction
      7011d5e3
  9. Nov 09, 2021
  10. Nov 06, 2021
  11. Nov 03, 2021
  12. Nov 02, 2021
  13. Oct 31, 2021
    • Pepe Iborra's avatar
      Improve trace readability (#2319) · 613ec40e
      Pepe Iborra authored
      613ec40e
    • Pepe Iborra's avatar
      Prevent Tactics hover provider from blocking at startup (#2306) · ce1f353b
      Pepe Iborra authored
      There's been a lot of work done on making hover and getDefinition immediately responsive at startup by using persisted data.
      
      Unfortunately we didn't install tests to preserve this fragile property. We should add those tests to the func-test testsuite.
      
      The problem here is that Tactics installs a hover handler that depends on the TypeCheck rule. Since there is no persistent provider for this rule, it blocks until the file can be typechecked. Since HLS does not implement partial responses (and neither do most LSP clients anyway), this blocks all the other hover providers.
      
      The solution is to install a new build rule GetMetaprograms that depends on TypeCheck, install a persistent provider for it that returns the empty list of meta programs, and switch the hover provider to useWithStaleFast.
      
      The downsides of doing this are negligible - the hover provider won't show any metaprogram specific info if used at startup, but it will work finely on a second attempt.
      ce1f353b
  14. Oct 30, 2021
  15. Oct 29, 2021
  16. Oct 28, 2021
  17. Oct 27, 2021
  18. Oct 26, 2021
    • Pepe Iborra's avatar
      [hls-graph] clean up databaseDirtySet (#2294) · 2474e7c2
      Pepe Iborra authored
      * 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
      2474e7c2
  19. Oct 25, 2021
    • Pepe Iborra's avatar
      fix defaultIdeOptions (#2302) · 44016a7c
      Pepe Iborra authored
      44016a7c
    • Pepe Iborra's avatar
      Generate linkables in the Eval plugin (#2295) · 229faac1
      Pepe Iborra authored
      * [hls-graph] clean up databaseDirtySet
      
      When I ported https://github.com/ndmitchell/shake/pull/802/files to hls-graph, I changed the encoding of the dirty set. Instead, Dirty became a constructor in the Status union. But the databaseDirtySet stayed around accidentally, leading to some confusion.
      
      * extract GetEvalComments rule
      
      * override NeedsCompilation rule in eval plugin to generate linkables when Evaluating
      
      In addition, we tune the newness check of the redefined NeedsCompilation rule so that the generated linkables are not thrown away unnecessarily, as described in:
      
      https://github.com/ndmitchell/shake/issues/794
      
      * getLastBuildKeys
      
      * Test that the linkables are being produced
      
      * honor LSP_TEST_LOG_STDERR
      
      * add comments and use custom newness check in ghcide too
      
      * fix build
      
      * fix 9.0 build
      229faac1
  20. Oct 24, 2021
    • Pepe Iborra's avatar
      Fix reverse dep. tracking for alwaysRerun rules (#2298) · 9233be8e
      Pepe Iborra authored
      When I ported reverse dependencies from Shake[1] I missed an important
      detail. While Shake models alwaysRerun as a dependency on an actual rule
      (AlwaysRerun), hls-graph models alwaysRerun by setting actionDeps to
      Nothing. This is important because dependencies are not computed for
      these rules, and therefore reverse dependency tracking doesn't do
      anything, which breaks correctness of dirty rebuilds
      
      This commit adds dependency tracking for alwaysRerun rules, and fixes
      reverse dependency tracking. The alternative would be following the
      Shake approach but I'm not sure what other implications this might have.
      
      [1] - https://github.com/ndmitchell/shake/pull/802
      9233be8e
Loading