mirror of
https://github.com/haskell/haskell-language-server.git
synced 2024-09-11 08:45:35 +03:00
* Implements splice location detection
* Corrects detection logic
* Changed to use (bogus) message for code action
* Splice location
* Extract `Ide.TreeTransform` as an independent package
* It once worked, but stops...
* Now it works for inplace expansion for expressions
* generalises tree transformation to general AST element
* Done for Types and Patterns!
* Disabled "commented" style of expansion
* kills redundant imports
* Updates cabal.project
* Nix fix
* Nix fix, fix
* Throws away loading hacks entirely
* Type adjusted for inverse dependency
* Resolves merge conflicts
* WIP: Support hover and goto definition for top-level splices
I can't work out how to properly integrate this information into the
.hie file machinery. Perhaps it would be better to upstream this.
* Modifies splice information to store both spliced expression and expanded ones as well
* Avoid name collision
* formatting erros
* Safer error handling
* Rewrote using updated ghcide `TypeCheck` results
* Use `liftRnf rwhnf` to force spine of lists
* Stop using `defaultRunMeta` directly to avoid override of preexisting hooks
* Error report
* Add splice information into HIE generation.
* Resolves interace conflict
* Add test
* Changes to use ParsedModule to detect Splice CodeLens
* formatted
* Implements golden test
* mzero for HsDecl
* Decl Splice
* Workaround for Decl expansion and support type-errored macro expansion.
* Only setting up dflags correcly would suffice
* Removes lines accidentally added
* Regression tests for Declaration splice and kind-error ones
* Workaround for GHC 8.8
* Revert "Workaround for GHC 8.8"
This reverts commit 056f76971f
.
* Unsupport pattern splices GHC 8.8
* Corrects line position in GoToHover
* Increases wait time
* Includes only related changes only
* Optimises `something'`
* Adds hie.yaml
* circie ci: Modifies stack-8.10.3.yaml
* Forgot to update dflags in auto-expansion with default strategy
* Forgot to add golden file
* A dummy commit to run CI
* Workaround for GHC 8.8 pattern splices
Co-authored-by: Matthew Pickering <matthewtpickering@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
69 lines
2.0 KiB
Nix
69 lines
2.0 KiB
Nix
# This shell.nix file is designed for use with cabal build
|
|
# It does **not** aim to replace Cabal
|
|
|
|
# Maintaining this file:
|
|
#
|
|
# - Bump the nixpkgs version using `niv update nixpkgs`
|
|
# - To edit the set of local packages:
|
|
# 1. Declare them in nix/default.nix
|
|
# 2. Edit the list of packages below
|
|
#
|
|
# For more details: https://github.com/NixOS/nixpkgs/blob/20.03/pkgs/development/haskell-modules/make-package-set.nix#L256
|
|
|
|
|
|
{ compiler ? "default",
|
|
withHoogle ? false,
|
|
nixpkgs ? import ./nix {}
|
|
}:
|
|
|
|
with nixpkgs;
|
|
|
|
let defaultCompiler = "ghc" + lib.replaceStrings ["."] [""] haskellPackages.ghc.version;
|
|
haskellPackagesForProject =
|
|
if compiler == "default"
|
|
then ourHaskell.packages.${defaultCompiler}
|
|
else ourHaskell.packages.${compiler};
|
|
|
|
packages = p: [ p.haskell-language-server
|
|
p.ghcide
|
|
p.shake-bench
|
|
p.hie-compat
|
|
p.hls-plugin-api
|
|
p.hls-exactprint-utils
|
|
p.hls-class-plugin
|
|
p.hls-eval-plugin
|
|
p.hls-explicit-imports-plugin
|
|
p.hls-hlint-plugin
|
|
p.hls-retrie-plugin
|
|
p.hls-splice-plugin
|
|
p.hls-tactics-plugin
|
|
];
|
|
|
|
isSupported = compiler == "default" || compiler == defaultCompiler;
|
|
in
|
|
haskellPackagesForProject.shellFor {
|
|
inherit withHoogle;
|
|
doBenchmark = true;
|
|
packages = p: if isSupported then packages p else [p.ghc-paths];
|
|
buildInputs = [
|
|
gmp
|
|
zlib
|
|
ncurses
|
|
capstone
|
|
tracy
|
|
|
|
haskellPackages.cabal-install
|
|
haskellPackages.hlint
|
|
haskellPackages.ormolu
|
|
haskellPackages.stylish-haskell
|
|
haskellPackages.opentelemetry-extra
|
|
|
|
];
|
|
src = null;
|
|
shellHook = ''
|
|
export LD_LIBRARY_PATH=${gmp}/lib:${zlib}/lib:${ncurses}/lib:${capstone}/lib
|
|
export DYLD_LIBRARY_PATH=${gmp}/lib:${zlib}/lib:${ncurses}/lib:${capstone}/lib
|
|
export PATH=$PATH:$HOME/.local/bin
|
|
'';
|
|
}
|