Skip to content
Snippets Groups Projects
  1. Jan 25, 2022
  2. Jan 24, 2022
    • Javier Neira 's avatar
      Remove not needed alpine workaround · 83f6772e
      Javier Neira authored
      83f6772e
    • Javier Neira 's avatar
      Add ghc-9.2.1 to gitlab build · efc4609d
      Javier Neira authored
      efc4609d
    • Javier Neira 's avatar
      Remove unused nix config · 00f2181a
      Javier Neira authored
      00f2181a
    • Kobayashi's avatar
      support selection range lsp feature (#2565) · 310e6a46
      Kobayashi authored
      
      * add selection range support
      
      * add the whole import area as a selection step
      
      * add selection range plugin to all project files
      
      * merge type signature with value definition
      
      * support ghc 9
      
      * fix it for ghc-9.0
      
      * remove unnecessary import
      
      * reformat GhcIde.hs
      
      * selection range: make it easier to understand
      
      * selection range: improve error handling
      
      * update lsp-types to 1.4.0.1
      
      * add selection range to doc
      
      * fix comment for findSelectionRangesByPositions
      
      * remove a use of partial function
      
      * update author & maintainer
      
      * use foldlM1 instead of foldl1
      
      * add testdata to cabal file
      
      * update performace tips and log level
      
      * update lsp-types in nix
      
      Co-authored-by: default avatarPepe Iborra <pepeiborra@gmail.com>
      310e6a46
    • Guillaume Bouchard's avatar
      Flake ghc 92 (#2621) · 61232682
      Guillaume Bouchard authored
      
      * refactor(flake): Use a separate flake for hackage sources
      
      This will be easier to update, and pass them as one dictionary.
      
      * flake: support for GHC 9.2
      
      I've naively copied most of the special cases for `GHC 9.0.1`.
      
      - `nix develop .\#haskell-language-server-921` gives me a shell in
        which I'm able to `cabal build`
      - `nix build .#haskell-language-server-921` builds HLS binary. I was
        able to use it in a proprietary codebase (by importing the flake) and
        it works fine.
      - some plugins are disabled, `brittany`, `stylishhaskell`, `hlint`,
        `haddockComments`, `alternateNumberFormat`. I didn't fight too much to
        fix this because I'm not using them. I'll do an effort in the future
        to fix them.
      - `nix develop .\#haskell-language-server-921-dev` does not starts, I
        need to investigate.
      
      Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
      Co-authored-by: default avatarJavier Neira <atreyu.bbb@gmail.com>
      61232682
    • bradrn's avatar
      Correct issues with pre-commit hook (#2597) · f33954ec
      bradrn authored
      
      * Reformat in accordance with pre-commit hook
      
      * Typo fix: add missing comma to documented pre-commit hook
      
      * Exclude failing files from pre-commit hook
      
      'stylish-haskell' seems to always fail with a parse error on several
      files under ghcide/. Excluding these files from the pre-commit hook
      ensures that this hook can always succeed.
      
      * Add stylish-haskell excludes to Nix pre-commit hook
      
      * Reformat again in accordance with pre-commit hook
      
      This is basically the same as 800c165, but applied to new changes
      which have been added since then.
      
      Co-authored-by: default avatarJavier Neira <atreyu.bbb@gmail.com>
      f33954ec
  3. Jan 23, 2022
  4. Jan 22, 2022
    • Kobayashi's avatar
      fix positionInRange (#2625) · ffd0f346
      Kobayashi authored
      
      * add a failing test case for positionInRange
      
      * fix positionInRange in PluginUtils
      
      * add hls-plugin-api to CI
      
      * fix ci
      
      Co-authored-by: default avatarJavier Neira <atreyu.bbb@gmail.com>
      ffd0f346
    • Javier Neira 's avatar
      Use ghc+integer-gmp for alpine linux build release (#2615) · 92a8cc0b
      Javier Neira authored
      * Remove integer-simple workaround
      
      * Skip upload to the release
      
      * Fix echo cabal.project
      
      * Echo PATH
      
      * Use specific cache for build
      
      * runner not allowed out of steps
      
      * Use common cache
      
      * Use raw ubuntu for ghc-9.2.1
      
      * Enable alpine for ghc-9.2.1
      
      * Replace gitrev with githash
      
      * Handle GitInfo exception
      
      As it breaks `cabal install`
      
      * Clean up build workflow
      92a8cc0b
  5. Jan 21, 2022
    • Michael Peyton Jones's avatar
      Rework features documentation (#2603) · f0bbc390
      Michael Peyton Jones authored
      
      * Rework features documentation
      
      This does a few things:
      - Adds a clear listing of which LSP methods we support, and which we
      don't (requested a couple of times recently).
      - Lists every code action and code lens, which plugin provies them,
      their status, and code action kind where applicable (apart from Wingman
      because there are lots and I couldn't figure it all out).
      
      Possibly some of this information belongs elsewhere, e.g. perhaps
      instead of listing which versions don't have full support on this page,
      we should instead add a page to the GHC support page that lists which
      plugins work on which versions. Not sure.
      
      * Add a couple of known limitations
      
      * Move plugin GHC version support to other page
      
      * Purge useless status column
      
      * Update docs/features.md
      
      Add link to qualify imported names readme
      
      * Update docs/features.md
      
      * Update docs/features.md
      
      * Update docs/features.md
      
      * Update docs/features.md
      
      * Update docs/features.md
      
      i don't know how to use github
      
      * Clarify text
      
      * Mention limitations of apply-refact
      
      Co-authored-by: default avatarJ. S <document_done@hotmail.com>
      Co-authored-by: default avatarPepe Iborra <pepeiborra@gmail.com>
      Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
      f0bbc390
  6. Jan 20, 2022
    • Michael Peyton Jones's avatar
    • isovector's avatar
      Wingman: Fix fundeps (#2611) · b5b84491
      isovector authored
      
      * Fix fundeps
      
      * One unifier to rule them all
      
      * Fix imports
      
      Co-authored-by: default avatarPepe Iborra <pepeiborra@gmail.com>
      b5b84491
    • isovector's avatar
      Wingman idioms (#2607) · b5c6dd0d
      isovector authored
      * Allow idiom brackets
      
      * Allow record construction idioms
      
      * expected result
      
      * Fix noExtField
      b5c6dd0d
    • Javier Neira 's avatar
      Make work stack-9.2.1.yaml and enable `pedantic` (`-WError`) for cabal (#2606) · 25580353
      Javier Neira authored
      * Enable brittany for ghc-9.0.2
      
      * Make works using cabal freeze
      
      * Add stack 9.2.1 to ci
      
      * Use new *molu versions
      
      * Enable rename for stack 9.2.1
      
      * Use last ghc-lib
      
      * Use correct boot pkgs
      
      * Use last ghc-exactprint
      
      * Reorganize and use lens-5.1
      
      * update retrie
      
      * Comment class plugin package
      
      * Handle Nothing case
      
      * Restore ghc-typelits deps
      
      * More non-exhaustive patterns
      
      * More non-exhaustive patterns
      
      * Set pedantic (-WError) true for cabal
      
      * Remove pedantic as we set it out in cabal.project
      
      * Not set pedantic for ghc-9.2.1
      
      * Set pedantic in cabal.project's
      
      * More non-exhaustive patterns
      
      * Not set pedantic for ghc-9.0.1
      
      * More incomplete patterns
      
      * Fix WErrors
      
      * Dodgy import
      
      * Correct CPP conditions
      
      * Not MonadFail in Prelude
      
      * Fix more warnings
      
      * Restore missing fun
      
      * unused imports
      
      * Enable refine imports
      
      * more fixes
      
      * Enable brittany in nix for 9.0.1
      
      * Use newer prettyprinter
      
      * Return to master
      
      * Enable tactics in stack-9.2.1.yaml
      
      * Enable pedantic in ci
      
      * Avoid deprecation warning with CPP �
      
      * Use default prettyprinter
      
      * Update refinery for ghc-9.2.1
      
      * Ignore deprecations
      
      * Use dev version of ghc-source-gen
      
      * disable wingman for 9.2.1
      
      * Enable wingman for 9.0.2
      
      * disable tactic with flag
      
      * yaml grammar
      
      * Use setup-build action
      
      * Correct workflow
      
      * Build flags for al major os's
      
      * The integer twaek is needed for the solver
      
      * Disable tests beforehand
      
      * flags only affect local packages
      
      * Exclude 8.6.5
      
      * Exclude 8.8.4
      25580353
    • J. S's avatar
      Improve qualified import plugin readme (#2605) · 905f8f7e
      J. S authored
      
      After seeing #2603 might as well improve the docs a little so we can maybe link to it.
      
      Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
      905f8f7e
  7. Jan 19, 2022
    • Tom Busby's avatar
      95987a79
    • isovector's avatar
      GHC-9.0 support for hls-tactics-plugin (#2581) · d640d139
      isovector authored
      
      * Initial partially broken ghc9 support for tactics
      
      It compiles and most tests succeed, but some fail.
      In particular, the ones where it should suggest `show` fails to find
      that as a possible solution and fails to find evidence for `Show a`.
      
      * Enable tactics plugin for nix as well
      
      * Wingman does support ghc9 now
      
      * Fix stack support for tactics ghc-9.0.1
      
      * Enable tests for tactics on ghc-9 on ci
      
      * Actually enable tactics for ghc-9 on nix
      
      * Wingman: Improve test failure messages
      
      Previously when wingman fails to find a solution, the test failure
      would say "Timed out when waiting for a message".
      Now it instead prints the error message from wingman.
      
      * Get theta
      
      * Make wrapper theta discovery more reliable
      
      * Fix AutoThetaRankN
      
      * Fix FmapJoin and FmapJoinInLet
      
      * Fix MetaBegin
      
      * Cleanup
      
      * Fix merge
      
      More fixing the merge
      
      No, seriously fix the merge
      
      Fix a broken merge
      
      * Need a comma
      
      * Try a better ConPatIn
      
      * Oops
      
      * its a nightmare
      
      * i hate ci
      
      * ok that fixes the conpat
      
      * Maybe this is the end of it
      
      * ci
      
      * refinery
      
      * undo some changes
      
      * no more tctypes?
      
      * maybe it builds now
      
      * omg
      
      * om F g
      
      * expect fail on 9.2
      
      * fix
      
      * fix again
      
      Co-authored-by: default avatarAndreas Källberg <anka.213@gmail.com>
      Co-authored-by: default avatarJavier Neira <atreyu.bbb@gmail.com>
      d640d139
  8. Jan 18, 2022
  9. Jan 17, 2022
    • — —'s avatar
      [ghc-9.2] Fix qualify-imported-names plugin (#2600) · 5714207b
      — — authored
      * [ghc-9.2] Fix qualify-imported-names plugin
      
      * Drop default-true plugin flags from stack-9.2.1.yaml
      5714207b
    • J. S's avatar
    • Javier Neira 's avatar
      Add support for ghc 9.0.2 (#2567) · 3f468514
      Javier Neira authored
      * Extract out ci build setup
      
      * Add required shell property
      
      * Add support for ghc-9.0.2
      
      * Test ghc 9.0.2
      
      * Add unix boot package
      
      * Use primitive-unlifted < 1.0
      
      * Use primitive-unlifted < 1.0 for stack
      
      * Ude 9.0.1 for hackage
      
      We cant use 9.0.2 until all deps do not need allow-newer
      
      * Use a unified cabal-ghc90.project
      
      And bump up index state to get lastest hie-bios
      
      * Use last snapshot with ghc-9.0.2 support
      
      * Use new cabal-ghc90.project in build
      
      * Add stm-containers
      
      * Add specific tweaks for ghc-9.0.2
      
      * Use the las ghc-boot-9.0
      
      * Fix test adding allow-newer
      
      Co-Authored-By: @michaelpj
      
      * Use unix-compat from hackage
      
      * Use unix-compat from hackage
      
      * Make consistent lastest stack.yamls
      
      * Clean up cabal.project
      
      * more cleanups
      
      * Update tweaks in hackage ci
      
      * Correct comment
      
      * Correct fourmolu condition
      
      * Correct fourmolu condition in tests
      
      * Removing the all target from caching
      
      It builds all project packages even if we they are not buildables
      (and are not included in hls due to flags)
      Its goal was build all tests and benchmarks but --enable-tests
      ans --enable-benchmarks should work
      Last one does not: https://github.com/haskell/cabal/issues/6259
      
      
      
      * exclude Brittany 0.14.0.1
      
      * Update snapshot to get new lsp
      
      * document flag
      
      * Document and build ghcide benchmark
      
      * Doc and use ghc-9.0.2 in hackage
      
      * Add ghc-9.2.1 to tested-with
      
      * Use 9.0.2 in gitlab
      
      * Use last *molus
      
      * Use same versions as cabal build
      
      * Use cabal freeze versions
      
      * Add dep for ghcide tests
      
      * one by one
      
      * Unnecessary change
      
      * Remove unnecessary flag
      
      * Corrections
      
      * Move blocks
      
      Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
      3f468514
  10. Jan 16, 2022
  11. Jan 15, 2022
  12. Jan 14, 2022
  13. Jan 13, 2022
  14. Jan 12, 2022
    • Pepe Iborra's avatar
      Build with GHC 9.2 (#2503) · 43863966
      Pepe Iborra authored
      
      * WIP
      
      * progress
      
      * enable 9.2 in CI
      
      * Sort out some compatibility issues (#2511)
      
      * fix mkPrintUnqualifiedDefault
      
      * fix qualified idents
      
      * Fix a few more ghc compats
      
      * Add new orphans
      
      * Fix runtime APIs
      
      * HsParsedModule
      
      * export GHC.Hs.Utils
      
      * 9.2 compat for unloading and hie file generation
      
      * hlint fix
      
      * Remove 'setupFinderCache' as its never actually used
      
      * 9.2 compat for Development.IDE.Core.Compile
      
      * Stub out 'getDocumentation' on GHC 9.2 (Requires a reimplementation in terms of in-tree annotations)
      
      * Expose binds
      
      * Remove a bit of CPP by refactoring it into Compat layer
      
      * Progress on ghc-exactprint stuff
      
      The Exactprint module compiles, but code actions are the next focus.
      
      * Fix compile on 8.10
      
      * 9.2 compat for CodeAction Exactprint
      
      * 9.2 compat for Outline
      
      * 9.2 compat for Pragmas plugin
      
      * Get the rest compiling with 9.2
      
      * WIP: PLEASE, DROP THIS COMMIT BEFORE MERGE
      
      This hook starts caching pipeline inside of the PR.
      If this got merged - all PRs would start to run caching workflow (which is
      undesirable, because of platform limitations)
      
      * disabling {test,bench} to properly heat-up the cache
      
      `index-state` change means nothing, but allow to run increment action on
      dependency cache pile (as otherwise cache stays idempotent to its key id).
      
      * CI: index-state: +1s refresh
      
      Somehow previous run got early termination. Seems like some GitHub bug, since
      cache-hit promises to True only on direct key hit (& we had indirect).
      
      Maybe second time the charm.
      
      * CI: fix early termination
      
      GitHub accepted previous code, & did passed the steps, but somehow ... long
      story short, it was pretending to have early termination working, while it just
      was always skipping those steps silently.
      
      So, `index-state` needs another +1s.
      
      * WIP: PLEASE, DROP BEFORE MERGE
      
      * WIP: PLEASE, DROP BEFORE MERGE
      
      This reverts commit 064a9b79950cded8a3f991c4fb03a6796b8fa1b7.
      
      * WIP: PLEASE, DROP THIS COMMIT BEFORE MERGE
      
      This reverts commit 208f4844f44af7368014d7872916473ae31deebd.
      
      * WIP: PLEASE, DROP THIS COMMIT BEFORE MERGE
      
      This reverts commit ba4d618ba50033fc0b0e628344f09b8cd5a80e55.
      
      * CI: index-state advance to save cache anew
      
      * CI: apparently GitHub uses alias cp='cp -i'
      
      Another day, another bug.
      
      * WIP: PLESE, REVERT TO TEST ALL GHCs
      
      * CI: index-state +1s
      
      * WIP: PLESE, REVERT TO TEST ALL GHCs
      
      * CI: index-state +1s
      
      * WIP: PLESE, REVERT TO PASS HLINT CI REQUIREMENTS
      
      * Enable tests for ghc-9.2.1
      
      * Use cabal-ghc921.project
      
      * Enable tests for all ghcs
      
      To check changes for ghc-9.2.1 do not break other ghcs
      
      * Address or skip hlint
      
      * Last hlint fixes
      
      * Fix loop when setting DynFlags
      
      * Filter out evidence variables in documentHighlight
      
      * Fix getFlds
      
      * fix GRE
      
      * fix formatting
      
      * fix Compat build in 9.0
      
      * fix collectHsBindsBinders
      
      * remove redundant WarnMsg local typedef
      
      * showSDocForUser
      
      * redundant import
      
      * HsLet
      
      * LetStmt
      
      * fix Completions build
      
      * bump cabal index state
      
      * Literals: replace argument patterns by field patterns
      
      Sadly this is not enough to fix the build
      
      * QualifyImportedNames: fix build with ghc <9.2
      
      * fix <9.2 build Splice plugin
      
      * fix <9.2 build QualifyImportedNames plugin
      
      * Fix <9.2 build Wingman
      
      * fix build example
      
      * Disable a whole bunch of plugins
      
      * Move windows test into the matrix
      
      * Make consistent plugin handling
      
      package commented out <-> flags <-> test suite
      
      * Add a not working stack.yaml for ghc-9.2.1
      
      It starts to build though
      
      * Remove wrong comma
      
      * Restore primitive allow-*
      
      * Use correct UnitId when constructing InstalledModules
      
      * Fix 8.8 build
      
      * Fix hls-test-utils
      
      * Build explicit imports plugin
      
      * Drop Windows build blocked on unix-compat
      
      * bump Cabal index and simplify constraints
      
      * Add comment
      
      * Use GhcSessionDeps in getHieAst
      
      * Use hsConDeclsBinders in Outline generation
      
      * Use the right session in typecheckModule
      
      * Restore some cases in Outline
      
      * Fix Outline build with GHC <9.2
      
      * Remove noisy logMessage notifications in tests
      
      I have never found these useful and they make it much harder to read logs. If there is a test that needs them, please use a custom logger instead of forcing this madness on everyone.
      
      * Build ghcide test and bench suites with 9.2
      
      * Revert "Merge branch 'master' into ghc-9.2"
      
      This reverts commit daf43c86e8f965ad0f61e0d6819eb03ae7ef3887, reversing
      changes made to f951004021a2d3d688ea249a7f52ce087ac4e2f0.
      
      * The redundant constraints warning has changed in 9.2
      
      * Fix code action regression
      
      * fix 9.2 ghcide build
      
      * Fix completion snippets
      
      * Fix mismerge
      
      * Bifunctor instance for GenLocated
      
      * Build rename plugin with GHC 9.2
      
      * Helpers for tracing ExactPrint ASTs
      
      * Fix exactprint code actions
      
      * Enable import lens plugin
      
      * WIP test run changes
      
      * Fix GHC 9 build
      
      * Undo WIP test changes
      
      * Fix GHC 8.8 build
      
      * Fix 8.6 build
      
      * Fix another exactprint regression
      
      * Add source repository with ghc-exactprint fixes
      
      * Add source repository for retrie (needed for fixed ghc-exactprint)
      
      * fix ghc <9.2 build
      
      * Another exactprint fix
      
      * Fix benchmarks
      
      * Another exactprint fix
      
      * Disable a plugin test (plugin not compatible anymore)
      
      * Enable windows build
      
      * Fix multiple components by using consistent UnitIds
      
      There are multiple sources of truth for the home unit id now, in the DynFlags and in the hsc_units
      
      * Improve error handling for initPlugins
      
      * Fix two hover tests
      
      * Remove retrie and ghc-exactprint source repos
      
      * Fix version of direct-sqlite
      
      Not sure why this is needed, but without it Cabal is selecting an older version
      which fails to build with 9.2
      
      * Fix ci update hackage index
      
      * This test is broken because GHC 9.2 built-in libraries lack docs
      
      The interface files have no docs, checked via:
      
          ghc --show-iface ~/.ghcup/ghc/9.2.1/lib/ghc-9.2.1/lib/x86_64-osx-ghc-9.2.1/base-4.16.0.0/Data/Functor.hi
      
      * Sanitize hiding tests
      
      These tests are reimplementing runWithExtraFiles - let's just use it
      
      * Disable another test
      
      * Fix outline
      
      * Revert "Sanitize hiding tests"
      
      This reverts commit 4f016ddca2b005e23963c3d401028d127fc87fd0.
      
      * Extract out ci build setup
      
      * Correct action path
      
      * Add required shell property
      
      * Remove unused cabal version
      
      * Update .github/actions/setup-build/action.yml
      
      Co-authored-by: default avatarMichael Peyton Jones <me@michaelpj.com>
      
      * Update .github/actions/setup-build/action.yml
      
      Co-authored-by: default avatarMichael Peyton Jones <me@michaelpj.com>
      
      * Update .github/actions/setup-build/action.yml
      
      Co-authored-by: default avatarMichael Peyton Jones <me@michaelpj.com>
      
      * Fix remaining tests and some warnings
      
      * Update .github/actions/setup-build/action.yml
      
      Co-Authored-By: @michaelpj
      
      * Copy alt project file unconditionally
      
      * Make freeze strict
      
      * Actually fix tests
      
      * remove unnecessary? allow-newer
      
      * Drop no longer needed source repo for th-extras
      
      * Add module header comments
      
      * Fix or remove commented out code
      
      * more commented out code
      
      * Disable a couple of func-test tests
      
      * All func-test tests passing now
      
      * fix test matrix
      
      * Update cabal-ghc921.project
      
      * do not test class plugin
      
      * Mark hover test broken in Windows and Mac
      
      * Fix hls-pragmas-plugin test suite
      
      * disable testing of refine imports plugin
      
      * disable rename plugin
      
      * Do not test qualify imported names plugin
      
      * addressing hlint suggestions
      
      * Revert hlint change that breaks due to CPP
      
      Co-authored-by: default avatarAlan Zimmerman <alan.zimm@gmail.com>
      Co-authored-by: default avatarZubin Duggal <zubin.duggal@gmail.com>
      Co-authored-by: default avatarAnton Latukha <anton.latukha@gmail.com>
      Co-authored-by: default avatarjneira <atreyu.bbb@gmail.com>
      Co-authored-by: default avatarJunyoung "Clare" Jang <jjc9310@gmail.com>
      Co-authored-by: default avatarMatthew Pickering <matthewtpickering@gmail.com>
      Co-authored-by: default avatarMichael Peyton Jones <me@michaelpj.com>
      43863966
    • Javier Neira 's avatar
      Add support for brittany (needs aeson-2) and floskell with ghc-9.0.1 (#2551) · 2625689a
      Javier Neira authored
      
      * Enable tests for brittany and 9.0.2
      
      * Enable tests for floskell plugin
      
      * cabal-ghc901.project: naively enable brittany
      
      * haskell-language-server.cabal: bump brittany flag <(9.0.1->9.2.1)
      
      * Trying to add support for brittany
      
      * Use last hackage floskell version
      
      * Activate floskell in func-test suite
      
      * Restrict brittany in hackage for ghc<9.0.1
      
      * Adapt to Aeson.Key
      
      * Update lsp source repo package
      
      * Refer pr for butcher
      
      * Add missing prefix
      
      * Adapt to aeson-2 (incomplete)
      
      * Use compat module
      
      * Support for aeson-2 and extra-1.7.10
      
      * Remove lsp
      
      * Allow newer aeson for stylish-haskell
      
      * Add needed import for non windows
      
      * Remove insertJson and toJsonKey
      
      * Update cabal-ghc901.project
      
      * Missing import
      
      * Avoid CPP by using lens-aeson
      
      * Update hls-plugin-api/src/Ide/Plugin/ConfigUtils.hs
      
      * Use ghcide compat module
      
      * Use type alias in cpp
      
      * Fix stack build for ghc-8.6.5
      
      * Use lens-aeson key
      
      * Use lens-aeson in func-test
      
      * Fixup shake-bench
      
      * Update docs
      
      * Switch to lens ix
      
      * Try this
      
      Co-authored-by: default avatarAnton-Latukha <anton.latukha@gmail.com>
      Co-authored-by: default avatarMichael Peyton Jones <me@michaelpj.com>
      Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
      2625689a
  15. Jan 11, 2022
  16. Jan 10, 2022
Loading