mirror of
https://github.com/haskell/haskell-language-server.git
synced 2024-09-11 08:45:35 +03:00
* First go * Match against specific error message. * Basic Change Type Signature implementation. This implementation only matches a single GHC Error message: ``` • Couldn't match type ‘Int’ with ‘Data.HashSet.Internal.HashSet Int’ Expected type: Int -> Int Actual type: Data.HashSet.Internal.HashSet Int -> Int • In the expression: head . toList In an equation for ‘test’: test = head . toList ``` Specifically on `Expected type: ...`, `Actual type:...` and `In an equation ...`. There are plenty of error messages that match this format but aren't actually valid. * GHC 9.2.0 compat change * Lift expectedError message into a separate binding * Move ChangeTypeAction into it's own plugin * Add New Error Message parsing. - Add new regex for matching extra errors message types - Revamp original regex to match more. - Add basic test suite. - Begin adding `tidyActualType` semantics to provide slightly prettier TyVars * Added Error Message Validation to ignore bad Messages. - Add Pretty Printing for Types - Added a few test scenarios * Miscellaneous Cleanup. * Update Tide Type Signature logic. - Be able to tidy signatures with operators in it - Use T.words instead of regex matching to split tyVars * Remove locA (defaults to id in 8.10) to satisfy 9.0+ * Touch up 9.2.1 * Clean up review notes * Update stack.yamls * Fix copy-paste error * Fix Local Signature resolution * Improve logging (#2558) * convert to contravariant logging style part 1, uses additional hardcoded log file to see it side by side with original logging * convert Session to contravariant logging style * convert Plugin/HLS and FireStore to contravariant logging style * convert Rules (and most of the universe) to contravariant logging style * fix tests, allow old style logging and contravariant logging to write to same log file * fix import inside wrong CPP * add CPP for LogTactic constructor * remove redundant import * fix ghcide tests * remove unused import * fix plugin tests * LSP_TEST_STDERR should apply to contra logger as well * fix tactic plugin test * use CPP for Log datatype plugin constructors, remove unused imports * add a few Pretty instances, add prettyprinter to haskell-language-sever and hls-plugin-api dependencies * add Pretty Log instances for Session, FileStore, Notifications * add remaining Pretty Log instances * add logToPriorities * fix slight interleaving issue with hslogger and logger both logging, have default logger be mutex stderr or file handle, use stderr if failing to open log file * forgot to add .cabal files with hslogger dep * dont use UnliftIO file IO helpers because they are too new * remove log helper comments, use Doc instead of Text as final console/file logger input, renaming, export Log constructors * remove accidentally added useless file, removed prettyprinter dep from hls-plugin-api because stack ghc8.6.5 doesnt have it? * use deprecated prettyprint modules import for the sake of circleci ghc-8.6.5 * use dummy stderr logger for plugin cli commands, use priorityToHsLoggerPriority function instead of manual mapping * remove old plugin detritus that somehow got committed * fix prettyprinter imports for 8.6.5 * try enforcing prettyprinter bounds? * enforcing bound makes no sense * maybe changing stack yamls does trick * filter out warnings when their diags are empty to more closely match original * add ability to select wanted logging columns, match prev ghcide exe logging behaviour * dont log anything when diags are empty in some defineEarlyCutoff versions * use non-deprecated prettyprinter imports * fix ghcide test module * change logWith to accept priority at call site, remove all logToPriority functions, add cmapWithPrio that contramaps through WithPriority * remove useless hiding import list, add comments to default recorder makers * make cradleToOptsAndLibDir take concrete cradle to remove existential type var in Log constructor * Types.Logger now re-exports prettyprinter, remove unused dependencies on prettyprinter and hslogger * existential type var to remove boilerplate in Plugins.hs, remove a few Show instances * add SourceLoc logging column, inline logToDoc functions, add comment explaining hslogger setup existence * qualify a name to match original source * fix -WError * Delete the Telemetry log level (#2727) It's a bit non-standard, and moreover it's entirely dead. * Wall and 9.2 fix * Remove unneeded comments/code Co-authored-by: J. S <shenjonathan0@gmail.com> Co-authored-by: Michael Peyton Jones <me@michaelpj.com> Co-authored-by: Pepe Iborra <pepeiborra@me.com>
109 lines
2.6 KiB
Plaintext
109 lines
2.6 KiB
Plaintext
packages:
|
|
./
|
|
./hie-compat
|
|
./shake-bench
|
|
./hls-graph
|
|
./ghcide
|
|
./hls-plugin-api
|
|
./hls-test-utils
|
|
./plugins/hls-tactics-plugin
|
|
./plugins/hls-brittany-plugin
|
|
./plugins/hls-stylish-haskell-plugin
|
|
./plugins/hls-fourmolu-plugin
|
|
./plugins/hls-class-plugin
|
|
./plugins/hls-eval-plugin
|
|
./plugins/hls-explicit-imports-plugin
|
|
./plugins/hls-refine-imports-plugin
|
|
./plugins/hls-hlint-plugin
|
|
./plugins/hls-rename-plugin
|
|
./plugins/hls-retrie-plugin
|
|
./plugins/hls-haddock-comments-plugin
|
|
./plugins/hls-splice-plugin
|
|
./plugins/hls-qualify-imported-names-plugin
|
|
./plugins/hls-floskell-plugin
|
|
./plugins/hls-pragmas-plugin
|
|
./plugins/hls-module-name-plugin
|
|
./plugins/hls-ormolu-plugin
|
|
./plugins/hls-call-hierarchy-plugin
|
|
./plugins/hls-alternate-number-format-plugin
|
|
./plugins/hls-selection-range-plugin
|
|
./plugins/hls-change-type-signature-plugin
|
|
|
|
with-compiler: ghc-9.2.1
|
|
|
|
tests: true
|
|
|
|
package *
|
|
ghc-options: -haddock
|
|
test-show-details: direct
|
|
|
|
write-ghc-environment-files: never
|
|
|
|
index-state: 2022-02-25T21:47:10Z
|
|
|
|
constraints:
|
|
-- These plugins don't build/work on GHC92 yet
|
|
haskell-language-server
|
|
+ignore-plugins-ghc-bounds
|
|
-brittany
|
|
-class
|
|
-haddockComments
|
|
-hlint
|
|
-retrie
|
|
-splice
|
|
-stylishhaskell
|
|
-tactic,
|
|
|
|
allow-newer:
|
|
-- for shake-bench
|
|
Chart:lens,
|
|
Chart-diagrams:lens,
|
|
|
|
-- for head.hackage
|
|
primitive-unlifted:base,
|
|
|
|
brittany:ghc-boot,
|
|
brittany:ghc-boot-th,
|
|
brittany:ghc,
|
|
brittany:ghc-exactprint,
|
|
brittany:bytestring,
|
|
brittany:base,
|
|
-- https://github.com/lspitzner/multistate/pull/8
|
|
multistate:base,
|
|
-- https://github.com/lspitzner/data-tree-print/pull/3
|
|
data-tree-print:base,
|
|
-- https://github.com/lspitzner/butcher/pull/8
|
|
butcher:base,
|
|
|
|
stylish-haskell:ghc-lib-parser,
|
|
stylish-haskell:Cabal,
|
|
stylish-haskell:bytestring,
|
|
stylish-haskell:aeson,
|
|
|
|
ormolu:ghc-lib-parser,
|
|
|
|
fourmolu:ghc-lib-parser,
|
|
fourmolu:Cabal,
|
|
|
|
hls-hlint-plugin:ghc-lib,
|
|
hls-hlint-plugin:ghc-lib-parser,
|
|
hls-hlint-plugin:ghc-lib-parser-ex,
|
|
hlint:ghc-lib-parser,
|
|
hlint:ghc-lib-parser-ex,
|
|
-- See https://github.com/mpickering/apply-refact/pull/116
|
|
apply-refact:base,
|
|
|
|
implicit-hie-cradle:bytestring,
|
|
implicit-hie-cradle:time,
|
|
|
|
-- For tactics
|
|
ghc-source-gen:ghc,
|
|
|
|
-- for ghcide:test via ghc-typelits-knownnat
|
|
ghc-typelits-natnormalise:ghc-bignum,
|
|
|
|
hiedb:base
|
|
|
|
allow-older:
|
|
primitive-extras:primitive-unlifted
|