1
0
Fork 0

devcontainer

main
Sebastian Steger 2025-08-20 14:52:41 +02:00
parent 355dcc5a82
commit 5ca76865d1
4 changed files with 86 additions and 0 deletions

View File

@ -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

View File

@ -0,0 +1,12 @@
{
"name": "Haskell Dev Container",
"build": {
"dockerfile": "Dockerfile"
},
"customizations": {
"vscode": { "extensions": [
"haskell.haskell",
"phoityne.phoityne-vscode"
]}
}
}

3
haskell/.vscode/settings.json vendored 100644
View File

@ -0,0 +1,3 @@
{
"editor.formatOnSave": true
}

61
haskell/.vscode/tasks.json vendored 100644
View File

@ -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
}
}
]
}