mirror of
https://github.com/github/semantic.git
synced 2024-11-24 17:04:47 +03:00
82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
-- GHCI settings for semantic, collected by running cabal repl -v and checking out the flags cabal passes to ghc.
|
||
|
||
-- Basic verbosity & compiler parallelization
|
||
:set -j -v1
|
||
|
||
-- Compile to object code
|
||
:set -fwrite-interface -fobject-code
|
||
:set -O0
|
||
|
||
-- Write build products to dist-repl
|
||
:set -outputdir dist-repl/build/x86_64-osx/ghc-8.6.5/semantic-0.8.0.0/build
|
||
:set -odir dist-repl/build/x86_64-osx/ghc-8.6.5/semantic-0.8.0.0/build
|
||
:set -hidir dist-repl/build/x86_64-osx/ghc-8.6.5/semantic-0.8.0.0/build
|
||
:set -stubdir dist-repl/build/x86_64-osx/ghc-8.6.5/semantic-0.8.0.0/build
|
||
|
||
-- Look for autogen’d files in dist-repl
|
||
:set -idist-repl/build/x86_64-osx/ghc-8.6.5/semantic-0.8.0.0/build/autogen
|
||
|
||
-- Load all our sources… remember to keep this up to date when we add new packages!
|
||
-- But don’t add semantic-source, it’s important that we get that from hackage.
|
||
:set -isemantic-analysis/src
|
||
:set -isemantic-ast/src
|
||
:set -isemantic-core/src
|
||
:set -isemantic-java/src
|
||
:set -isemantic-json/src
|
||
:set -isemantic-python/src
|
||
:set -isemantic-tags/src
|
||
:set -isrc
|
||
:set -ibench
|
||
:set -itest
|
||
|
||
-- Default language mode & extensions
|
||
:set -XHaskell2010
|
||
:set -XStrictData
|
||
|
||
-- Warnings for compiling .hs files
|
||
:set -Weverything
|
||
:set -Wno-all-missed-specialisations
|
||
:set -Wno-implicit-prelude
|
||
:set -Wno-missed-specialisations
|
||
:set -Wno-missing-import-lists
|
||
:set -Wno-missing-local-signatures
|
||
:set -Wno-monomorphism-restriction
|
||
:set -Wno-name-shadowing
|
||
:set -Wno-safe
|
||
:set -Wno-unsafe
|
||
:set -Wno-star-is-type
|
||
-- Bonus: silence “add these modules to your .cabal file” warnings for files we :load
|
||
:set -Wno-missing-home-modules
|
||
|
||
-- Don’t fail on warnings when in the repl
|
||
:set -Wwarn
|
||
|
||
-- Warnings for code written in the repl
|
||
:seti -Weverything
|
||
:seti -Wno-all-missed-specialisations
|
||
:seti -Wno-implicit-prelude
|
||
:seti -Wno-missed-specialisations
|
||
:seti -Wno-missing-import-lists
|
||
:seti -Wno-missing-local-signatures
|
||
:seti -Wno-monomorphism-restriction
|
||
:seti -Wno-name-shadowing
|
||
:seti -Wno-safe
|
||
:seti -Wno-unsafe
|
||
:seti -Wno-star-is-type
|
||
|
||
-- Consider adding these to your ~/.ghc/ghci.conf file:
|
||
-- -- Pretty-printing
|
||
-- :set -package pretty-simple
|
||
-- :def! pretty \ _ -> pure ":set -interactive-print Text.Pretty.Simple.pPrint"
|
||
-- :def! no-pretty \ _ -> pure ":set -interactive-print System.IO.print"
|
||
-- :def! r \_ -> pure ":reload\n:pretty"
|
||
|
||
-- -- Break on errors
|
||
-- :seti -fbreak-on-error
|
||
|
||
-- -- Automatically show the code around breakpoints
|
||
-- :set stop :list
|
||
|
||
-- -- Use a cyan lambda as the prompt
|
||
-- :set prompt "\ESC[1;36m\STXλ \ESC[m\STX"
|