bsc

Comprehensive codebase and cou...
Log | Files | Refs | Activity | README | LICENSE

root / .vscode / tasks.json

tasks.json (4788B)


      1 {
      2     "version": "2.0.0",
      3     "tasks": [
      4         {
      5             "label": "Silent Auto-Pull",
      6             "type": "shell",
      7             "command": "git pull",
      8             "runOptions": {
      9                 "runOn": "folderOpen"
     10             },
     11             "presentation": {
     12                 "reveal": "never",
     13                 "panel": "shared",
     14                 "showReuseMessage": false,
     15                 "clear": true
     16             }
     17         },
     18         {
     19             "label": "C/C++: build active file",
     20             "type": "shell",
     21             "command": "if [ \"${fileExtname}\" = \".cpp\" ]; then c=\"g++\"; else c=\"gcc\"; fi; exe=\"${fileDirname}/${fileBasenameNoExtension}\"; fnT() { if [ $1 -ge 1000 ]; then echo \"$(($1/1000)).$(( ($1%1000)/100 ))s\"; else echo \"${1}ms\"; fi; }; echo -e \"\\e[36m▶\\e[0m Building \\e[1m${fileBasename}\\e[0m \\e[90m($c)\\e[0m\"; start_t=$(date +%s%3N); out=$($c -fdiagnostics-color=always -g \"${file}\" -o \"$exe\" 2>&1); bexit=$?; end_t=$(date +%s%3N); bms=$((end_t - start_t)); if [ -n \"$out\" ]; then echo \"$out\"; fi; w=$(echo \"$out\" | grep -ic \"warning:\"); e=$(echo \"$out\" | grep -ic \"error:\"); if [ $bexit -eq 0 ]; then sz=$(du -h \"$exe\" 2>/dev/null | cut -f1); echo -e \"\\e[32m✓ build ok\\e[0m  \\e[90min $(fnT $bms) · $w warn · $sz\\e[0m\"; else echo -e \"\\e[31m✗ build failed\\e[0m  \\e[90min $(fnT $bms) · $e error(s) · $w warn\\e[0m\"; fi; exit $bexit",
     22             "args": [],
     23             "options": {
     24                 "cwd": "${fileDirname}",
     25                 "shell": {
     26                     "executable": "/bin/bash",
     27                     "args": ["-c"]
     28                 }
     29             },
     30             "problemMatcher": ["$gcc"],
     31             "group": "build",
     32             "detail": "Auto-selects gcc for .c and g++ for .cpp"
     33         },
     34         {
     35             "label": "C/C++: build and run active file",
     36             "type": "shell",
     37             "command": "if [ \"${fileExtname}\" = \".cpp\" ]; then c=\"g++\"; else c=\"gcc\"; fi; exe=\"${fileDirname}/${fileBasenameNoExtension}\"; logDir=\"/home/notamitgamer/Documents/bsc/buildLog\"; mkdir -p \"$logDir\"; ts=$(date +\"%Y-%m-%d_%H-%m-%M_%S\"); logFile=\"$logDir/buildLog_$ts.txt\"; strip() { sed -r 's/\\x1B\\[([0-9]{1,3}(;[0-9]{1,3})*)?[mGK]//g'; }; log() { echo -e \"$1\"; echo -e \"$1\" | strip >> \"$logFile\"; }; fnT() { if [ $1 -ge 1000 ]; then echo \"$(($1/1000)).$(( ($1%1000)/100 ))s\"; else echo \"${1}ms\"; fi; }; ver=$($c --version | head -n 1); loc=$(wc -l < \"${file}\"); log \"\\e[90m$(date +'%Y-%m-%d %H:%M:%S')  ·  ${loc} lines  ·  $ver\\e[0m\"; log \"\\e[36m▶\\e[0m Building \\e[1m${fileBasename}\\e[0m \\e[90m($c)\\e[0m\"; start_t=$(date +%s%3N); out=$($c -fdiagnostics-color=always -g \"${file}\" -o \"$exe\" 2>&1); bexit=$?; end_t=$(date +%s%3N); bms=$((end_t - start_t)); if [ -n \"$out\" ]; then log \"$out\"; fi; w=$(echo \"$out\" | grep -ic \"warning:\"); e=$(echo \"$out\" | grep -ic \"error:\"); if [ $bexit -eq 0 ]; then sz=$(du -h \"$exe\" 2>/dev/null | cut -f1); log \"\\e[32m✓ build ok\\e[0m  \\e[90min $(fnT $bms) · $w warn · $sz\\e[0m\"; else log \"\\e[31m✗ build failed\\e[0m  \\e[90min $(fnT $bms) · $e error(s) · $w warn\\e[0m\"; log \"\\e[90mlog: $logFile\\e[0m\"; exit 1; fi; log \"\"; log \"\\e[36m▶\\e[0m Running \\e[1m${fileBasenameNoExtension}\\e[0m\"; log \"\\e[90m──────────────────────────────────────────\\e[0m\"; rstart_t=$(date +%s%3N); \"$exe\" 2>&1 | tee >(strip >> \"$logFile\"); rexit=${PIPESTATUS[0]}; rend_t=$(date +%s%3N); rms=$((rend_t - rstart_t)); log \"\\e[90m──────────────────────────────────────────\\e[0m\"; rm -f \"$exe\"; if [ $rexit -eq 0 ]; then rc=\"32\"; else rc=\"31\"; fi; log \"\\e[${rc}m■ exit $rexit\\e[0m  \\e[90min $(fnT $rms)\\e[0m\"; log \"\\e[90mlog: $logFile\\e[0m\"; { echo \"\"; echo \"────── SOURCE ──────\"; cat \"${file}\"; } >> \"$logFile\"; exit 0",
     38             "args": [],
     39             "options": {
     40                 "cwd": "${fileDirname}",
     41                 "shell": {
     42                     "executable": "/bin/bash",
     43                     "args": ["-c"]
     44                 }
     45             },
     46             "problemMatcher": ["$gcc"],
     47             "group": {
     48                 "kind": "build",
     49                 "isDefault": true
     50             },
     51             "presentation": {
     52                 "echo": false,
     53                 "reveal": "always",
     54                 "focus": true,
     55                 "panel": "shared",
     56                 "showReuseMessage": true,
     57                 "clear": true
     58             },
     59             "detail": "Builds, runs, compact status lines, full logging preserved"
     60         }
     61     ]
     62 }
© notamitgamer • Site Built: 2026-09-05 01:53:16 UTC • git-mirror commit: c170d72 [view raw info]
Originally created with stagit • modified by notamitgamer
Forked from github.com/notamitgamer/git-mirror