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>
118 lines
3.6 KiB
YAML
118 lines
3.6 KiB
YAML
resolver: lts-16.31 # last 8.8.4 lts
|
|
|
|
packages:
|
|
- .
|
|
- ./hie-compat
|
|
- ./hls-graph
|
|
- ./ghcide/
|
|
- ./shake-bench
|
|
- ./hls-plugin-api
|
|
- ./hls-test-utils
|
|
- ./plugins/hls-call-hierarchy-plugin
|
|
- ./plugins/hls-class-plugin
|
|
- ./plugins/hls-haddock-comments-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-splice-plugin
|
|
- ./plugins/hls-tactics-plugin
|
|
- ./plugins/hls-qualify-imported-names-plugin
|
|
- ./plugins/hls-brittany-plugin
|
|
- ./plugins/hls-stylish-haskell-plugin
|
|
- ./plugins/hls-floskell-plugin
|
|
- ./plugins/hls-fourmolu-plugin
|
|
- ./plugins/hls-pragmas-plugin
|
|
- ./plugins/hls-module-name-plugin
|
|
- ./plugins/hls-ormolu-plugin
|
|
- ./plugins/hls-alternate-number-format-plugin
|
|
- ./plugins/hls-selection-range-plugin
|
|
- ./plugins/hls-change-type-signature-plugin
|
|
|
|
ghc-options:
|
|
"$everything": -haddock
|
|
|
|
extra-deps:
|
|
- aeson-1.5.2.0
|
|
- apply-refact-0.9.3.0
|
|
- brittany-0.13.1.2
|
|
- bytestring-trie-0.2.5.0
|
|
- cabal-plan-0.6.2.0
|
|
- clock-0.7.2
|
|
- constrained-dynamic-0.1.0.0
|
|
- extra-1.7.10
|
|
- floskell-0.10.4
|
|
- fourmolu-0.3.0.0
|
|
- ghc-check-0.5.0.4
|
|
- ghc-exactprint-0.6.4
|
|
- ghc-lib-8.10.7.20210828
|
|
- ghc-lib-parser-8.10.7.20210828
|
|
- ghc-source-gen-0.4.1.0
|
|
- ghc-trace-events-0.1.2.1
|
|
- haskell-src-exts-1.21.1
|
|
- heapsize-0.3.0
|
|
- hie-bios-0.9.0
|
|
- hlint-3.2.8
|
|
- HsYAML-aeson-0.2.0.0@rev:2
|
|
- hoogle-5.0.17.11
|
|
- hsimport-0.11.0
|
|
- ilist-0.3.1.0
|
|
- implicit-hie-cradle-0.3.0.5
|
|
- implicit-hie-0.1.2.6
|
|
- megaparsec-9.0.1
|
|
- monad-dijkstra-0.1.1.2
|
|
- opentelemetry-0.6.1
|
|
- opentelemetry-extra-0.6.1
|
|
- prettyprinter-1.7.1
|
|
- refinery-0.4.0.0
|
|
- retrie-1.1.0.0
|
|
- semigroups-0.18.5
|
|
- shake-0.19.4
|
|
- stylish-haskell-0.12.2.0
|
|
- temporary-1.2.1.1
|
|
- th-compat-0.1.2@sha256:3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8,2854
|
|
- bytestring-encoding-0.1.0.0@sha256:460b49779fbf0112e8e2f1753c1ed9131eb18827600c298f4d6bb51c4e8c1c0d,1727
|
|
- hiedb-0.4.1.0
|
|
- sqlite-simple-0.4.18.0@sha256:3ceea56375c0a3590c814e411a4eb86943f8d31b93b110ca159c90689b6b39e5,3002
|
|
- direct-sqlite-2.3.26@sha256:04e835402f1508abca383182023e4e2b9b86297b8533afbd4e57d1a5652e0c23,3718
|
|
- dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657
|
|
- dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068
|
|
- dependent-sum-template-0.1.0.3@sha256:0bbbacdfbd3abf2a15aaf0cf2c27e5bdd159b519441fec39e1e6f2f54424adde,1682
|
|
- constraints-extras-0.3.0.2@sha256:013b8d0392582c6ca068e226718a4fe8be8e22321cc0634f6115505bf377ad26,1853
|
|
- some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055
|
|
- unliftio-core-0.2.0.1@sha256:9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a,1082
|
|
- lsp-1.4.0.0
|
|
- lsp-types-1.4.0.1
|
|
- lsp-test-0.14.0.2
|
|
- stm-containers-1.1.0.4
|
|
- stm-hamt-1.2.0.6@sha256:fba86ccb4b45c5706c19b0e1315ba63dcac3b5d71de945ec001ba921fae80061,3972
|
|
- primitive-extras-0.10.1
|
|
- primitive-unlifted-0.1.3.1
|
|
|
|
configure-options:
|
|
ghcide:
|
|
- --disable-library-for-ghci
|
|
haskell-language-server:
|
|
- --disable-library-for-ghci
|
|
heapsize:
|
|
- --disable-library-for-ghci
|
|
|
|
flags:
|
|
haskell-language-server:
|
|
pedantic: true
|
|
retrie:
|
|
BuildExecutable: false
|
|
# Stack doesn't support automatic flags.
|
|
# Until the formatters support ghc-lib-9, we need this flag disabled
|
|
hls-hlint-plugin:
|
|
hlint33: false
|
|
hyphenation:
|
|
embed: true
|
|
|
|
nix:
|
|
packages: [icu libcxx zlib]
|
|
|
|
concurrent-tests: false
|