forked from steger/pr3-sose2026
devcontainer
parent
355dcc5a82
commit
5ca76865d1
|
|
@ -0,0 +1,10 @@
|
||||||
|
FROM ubuntu:24.04
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y build-essential curl libffi-dev libffi8ubuntu1 libgmp-dev libgmp10 libncurses-dev
|
||||||
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
|
||||||
|
ENV PATH="$PATH:/root/.ghcup/bin"
|
||||||
|
RUN ghcup install hls
|
||||||
|
RUN apt-get update && apt-get install -y git zlib1g-dev
|
||||||
|
RUN cabal update && cabal install ghci-dap haskell-debug-adapter
|
||||||
|
RUN cabal update && cabal install --lib HUnit
|
||||||
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"name": "Haskell Dev Container",
|
||||||
|
"build": {
|
||||||
|
"dockerfile": "Dockerfile"
|
||||||
|
},
|
||||||
|
"customizations": {
|
||||||
|
"vscode": { "extensions": [
|
||||||
|
"haskell.haskell",
|
||||||
|
"phoityne.phoityne-vscode"
|
||||||
|
]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
|
||||||
|
{
|
||||||
|
// Automatically created by phoityne-vscode extension.
|
||||||
|
|
||||||
|
"version": "2.0.0",
|
||||||
|
"presentation": {
|
||||||
|
"reveal": "always",
|
||||||
|
"panel": "new"
|
||||||
|
},
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
// F7
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": false
|
||||||
|
},
|
||||||
|
"label": "haskell build",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "cabal configure && cabal build"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// F6
|
||||||
|
"group": "build",
|
||||||
|
"type": "shell",
|
||||||
|
"label": "haskell clean & build",
|
||||||
|
"command": "cabal clean && cabal configure && cabal build"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// F8
|
||||||
|
"group": {
|
||||||
|
"kind": "test",
|
||||||
|
"isDefault": true
|
||||||
|
},
|
||||||
|
"type": "shell",
|
||||||
|
"label": "haskell test",
|
||||||
|
"command": "cabal test"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// F6
|
||||||
|
"isBackground": true,
|
||||||
|
"type": "shell",
|
||||||
|
"label": "haskell watch",
|
||||||
|
"command": "stack build --test --no-run-tests --file-watch"
|
||||||
|
}
|
||||||
|
|
||||||
|
,
|
||||||
|
{
|
||||||
|
// Build a single Haskell file
|
||||||
|
"type": "shell",
|
||||||
|
"label": "haskell build single file",
|
||||||
|
"command": "ghc",
|
||||||
|
"args": [ "${file}" ],
|
||||||
|
"problemMatcher": [],
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue