├── .editorconfig ├── .env-sample ├── .github └── workflows │ ├── stable-linux.yml │ ├── stable-macos.yml │ ├── stable-spearhead.yml │ └── stable-windows.yml ├── .gitignore ├── .nvmrc ├── LICENSE ├── README.md ├── dev ├── build.ps1 ├── build.sh ├── osx │ └── codesign.env.template ├── patch.sh └── update_patches.sh ├── docs ├── commands │ ├── workbench.extensions.disableExtension.md │ └── workbench.extensions.enableExtension.md ├── migrate │ ├── index.md │ ├── linux.md │ ├── macos.md │ └── windows.md ├── settings │ ├── editor.foldingStrategy.md │ ├── editor.showFoldingLastLine.md │ ├── keyboard.platform.md │ └── workbench.editor.openPositioning.md └── terminal.md ├── get_repo.sh ├── icons ├── build_icons.sh ├── code_64.png ├── code_darwin.png ├── codium_only.svg └── corner_512.png ├── patches ├── extension-management.patch ├── keyboard-platform.patch.no └── xterm.patch ├── prepare.sh ├── reset.sh ├── src ├── build │ └── windows │ │ └── msi │ │ └── resources │ │ └── stable │ │ ├── wix-banner.bmp │ │ └── wix-dialog.bmp └── src │ └── stable │ ├── resources │ ├── darwin │ │ ├── bat.icns │ │ ├── bower.icns │ │ ├── c.icns │ │ ├── code.icns │ │ ├── config.icns │ │ ├── cpp.icns │ │ ├── csharp.icns │ │ ├── css.icns │ │ ├── default.icns │ │ ├── go.icns │ │ ├── html.icns │ │ ├── jade.icns │ │ ├── java.icns │ │ ├── javascript.icns │ │ ├── json.icns │ │ ├── less.icns │ │ ├── markdown.icns │ │ ├── php.icns │ │ ├── powershell.icns │ │ ├── python.icns │ │ ├── react.icns │ │ ├── ruby.icns │ │ ├── sass.icns │ │ ├── shell.icns │ │ ├── sql.icns │ │ ├── typescript.icns │ │ ├── vue.icns │ │ ├── xml.icns │ │ └── yaml.icns │ ├── linux │ │ ├── code-url-handler.desktop │ │ ├── code.appdata.xml │ │ ├── code.desktop │ │ └── code.png │ ├── server │ │ ├── code-192.png │ │ ├── code-512.png │ │ └── favicon.ico │ └── win32 │ │ ├── VisualElementsManifest.xml │ │ ├── bower.ico │ │ ├── c.ico │ │ ├── code.ico │ │ ├── code_150x150.png │ │ ├── code_70x70.png │ │ ├── config.ico │ │ ├── cpp.ico │ │ ├── csharp.ico │ │ ├── css.ico │ │ ├── default.ico │ │ ├── go.ico │ │ ├── html.ico │ │ ├── inno-big-100.bmp │ │ ├── inno-big-125.bmp │ │ ├── inno-big-150.bmp │ │ ├── inno-big-175.bmp │ │ ├── inno-big-200.bmp │ │ ├── inno-big-225.bmp │ │ ├── inno-big-250.bmp │ │ ├── inno-small-100.bmp │ │ ├── inno-small-125.bmp │ │ ├── inno-small-150.bmp │ │ ├── inno-small-175.bmp │ │ ├── inno-small-200.bmp │ │ ├── inno-small-225.bmp │ │ ├── inno-small-250.bmp │ │ ├── jade.ico │ │ ├── java.ico │ │ ├── javascript.ico │ │ ├── json.ico │ │ ├── less.ico │ │ ├── markdown.ico │ │ ├── php.ico │ │ ├── powershell.ico │ │ ├── python.ico │ │ ├── react.ico │ │ ├── ruby.ico │ │ ├── sass.ico │ │ ├── shell.ico │ │ ├── sql.ico │ │ ├── typescript.ico │ │ ├── vue.ico │ │ ├── xml.ico │ │ └── yaml.ico │ └── src │ └── vs │ └── workbench │ └── browser │ ├── media │ └── code-icon.svg │ └── parts │ └── editor │ └── media │ ├── letterpress-dark.svg │ ├── letterpress-hc.svg │ └── letterpress.svg ├── stores └── snapcraft │ └── snap │ ├── check_version.sh │ └── stable │ ├── local │ └── bin │ │ └── electron-launch │ └── snapcraft.yaml ├── update_upstream.sh ├── upstream └── stable.json └── utils └── pkgver.sh /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | tab_width = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.sh] 13 | indent_style = space 14 | indent_size = 2 15 | 16 | [*.{yml,yaml}] 17 | indent_style = space 18 | indent_size = 2 19 | 20 | [*.patch] 21 | trim_trailing_whitespace = false 22 | insert_final_newline = false 23 | 24 | [*.svg] 25 | insert_final_newline = false 26 | -------------------------------------------------------------------------------- /.env-sample: -------------------------------------------------------------------------------- 1 | GITHUB_TOKEN='' 2 | VSCODIUM_LATEST=yes 3 | -------------------------------------------------------------------------------- /.github/workflows/stable-linux.yml: -------------------------------------------------------------------------------- 1 | name: stable-linux 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | new_release: 7 | type: boolean 8 | description: Force new Release 9 | force_version: 10 | type: boolean 11 | description: Force update version 12 | vscodium_latest: 13 | type: boolean 14 | description: Use latest VSCodium 15 | repository_dispatch: 16 | types: [stable] 17 | 18 | env: 19 | ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true 20 | APP_NAME: MrCode 21 | ASSETS_REPOSITORY: ${{ github.repository }} 22 | BINARY_NAME: codium 23 | DISABLE_UPDATE: 'yes' 24 | GH_REPO_PATH: ${{ github.repository_owner }}/${{ github.repository }} 25 | ORG_NAME: ${{ github.repository_owner }} 26 | OS_NAME: linux 27 | VERSIONS_REPOSITORY: ${{ github.repository_owner }}/MrCode-versions 28 | VSCODE_QUALITY: stable 29 | 30 | jobs: 31 | check: 32 | runs-on: ubuntu-latest 33 | outputs: 34 | MS_COMMIT: ${{ env.MS_COMMIT }} 35 | MS_TAG: ${{ env.MS_TAG }} 36 | RELEASE_VERSION: ${{ env.RELEASE_VERSION }} 37 | SHOULD_BUILD: ${{ env.SHOULD_BUILD }} 38 | VSCODIUM_COMMIT: ${{ env.VSCODIUM_COMMIT }} 39 | 40 | steps: 41 | - uses: actions/checkout@v4 42 | with: 43 | ref: ${{ env.GITHUB_BRANCH }} 44 | 45 | - name: Clone VSCodium repo 46 | env: 47 | VSCODIUM_LATEST: ${{ github.event.inputs.vscodium_latest }} 48 | run: ./get_repo.sh 49 | 50 | - name: Check existing VSCodium tags/releases 51 | env: 52 | CHECK_ALL: 'yes' 53 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 54 | NEW_RELEASE: ${{ github.event.inputs.new_release }} 55 | working-directory: ./vscodium 56 | run: ./check_tags.sh 57 | 58 | compile: 59 | needs: 60 | - check 61 | runs-on: ubuntu-20.04 62 | env: 63 | MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }} 64 | MS_TAG: ${{ needs.check.outputs.MS_TAG }} 65 | RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }} 66 | SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }} 67 | VSCODE_ARCH: 'x64' 68 | VSCODIUM_COMMIT: ${{ needs.check.outputs.VSCODIUM_COMMIT }} 69 | outputs: 70 | BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }} 71 | 72 | steps: 73 | - uses: actions/checkout@v4 74 | with: 75 | ref: ${{ env.GITHUB_BRANCH }} 76 | if: env.SHOULD_BUILD == 'yes' 77 | 78 | - name: Setup GCC 79 | uses: egor-tensin/setup-gcc@v1 80 | with: 81 | version: 10 82 | platform: x64 83 | if: env.SHOULD_BUILD == 'yes' 84 | 85 | - name: Setup Node.js environment 86 | uses: actions/setup-node@v4 87 | with: 88 | node-version: '20.18.2' 89 | if: env.SHOULD_BUILD == 'yes' 90 | 91 | - name: Install Yarn 92 | run: npm install -g yarn 93 | if: env.SHOULD_BUILD == 'yes' 94 | 95 | - name: Setup Python 3 96 | uses: actions/setup-python@v5 97 | with: 98 | python-version: '3.11' 99 | if: env.SHOULD_BUILD == 'yes' 100 | 101 | - name: Install libkrb5-dev 102 | run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev 103 | if: env.SHOULD_BUILD == 'yes' 104 | 105 | - name: Clone VSCodium repo 106 | run: ./get_repo.sh 107 | if: env.SHOULD_BUILD == 'yes' 108 | 109 | - name: Prepare VSCodium 110 | run: ./prepare.sh 111 | if: env.SHOULD_BUILD == 'yes' 112 | 113 | - name: Build 114 | env: 115 | SHOULD_BUILD_REH: 'no' 116 | SHOULD_BUILD_REH_WEB: 'no' 117 | working-directory: ./vscodium 118 | run: ./build.sh 119 | if: env.SHOULD_BUILD == 'yes' 120 | 121 | - name: Compress vscode artifact 122 | working-directory: ./vscodium 123 | run: | 124 | find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt 125 | echo "vscode/.build/extensions/node_modules" >> vscode.txt 126 | echo "vscode/.git" >> vscode.txt 127 | tar -czf vscode.tar.gz -T vscode.txt 128 | if: env.SHOULD_BUILD == 'yes' 129 | 130 | - name: Upload vscode artifact 131 | uses: actions/upload-artifact@v4 132 | with: 133 | name: vscode 134 | path: ./vscodium/vscode.tar.gz 135 | retention-days: 30 136 | if: env.SHOULD_BUILD == 'yes' 137 | 138 | build: 139 | needs: 140 | - check 141 | - compile 142 | runs-on: ubuntu-latest 143 | strategy: 144 | fail-fast: false 145 | matrix: 146 | include: 147 | - slug: X64 148 | vscode_arch: x64 149 | npm_arch: x64 150 | image: vscodium/vscodium-linux-build-agent:focal-x64 151 | - slug: ARM64 152 | vscode_arch: arm64 153 | npm_arch: arm64 154 | image: vscodium/vscodium-linux-build-agent:focal-arm64 155 | - slug: ARM32 156 | vscode_arch: armhf 157 | npm_arch: arm 158 | image: vscodium/vscodium-linux-build-agent:focal-armhf 159 | - slug: RISCV64 160 | vscode_arch: riscv64 161 | npm_arch: riscv64 162 | image: vscodium/vscodium-linux-build-agent:focal-riscv64 163 | - slug: LOONG64 164 | vscode_arch: loong64 165 | npm_arch: loong64 166 | image: vscodium/vscodium-linux-build-agent:beige-loong64 167 | - slug: PPC64 168 | vscode_arch: ppc64le 169 | npm_arch: ppc64 170 | image: vscodium/vscodium-linux-build-agent:focal-ppc64le 171 | container: 172 | image: ${{ matrix.image }} 173 | env: 174 | BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }} 175 | DISABLED: ${{ vars[format('DISABLE_STABLE_LINUX_APP_{0}', matrix.slug)] }} 176 | MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }} 177 | MS_TAG: ${{ needs.check.outputs.MS_TAG }} 178 | RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }} 179 | SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }} 180 | VSCODE_ARCH: ${{ matrix.vscode_arch }} 181 | VSCODIUM_COMMIT: ${{ needs.check.outputs.VSCODIUM_COMMIT }} 182 | outputs: 183 | RELEASE_VERSION: ${{ env.RELEASE_VERSION }} 184 | SHOULD_BUILD: ${{ env.SHOULD_BUILD }} 185 | 186 | steps: 187 | - uses: actions/checkout@v4 188 | with: 189 | ref: ${{ env.GITHUB_BRANCH }} 190 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 191 | 192 | - name: Clone VSCodium repo 193 | run: ./get_repo.sh 194 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 195 | 196 | - name: Check existing VSCodium tags/releases 197 | env: 198 | CHECK_REH: 'no' 199 | DISABLE_APPIMAGE: ${{ vars.DISABLE_STABLE_APPIMAGE }} 200 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 201 | working-directory: ./vscodium 202 | run: ./check_tags.sh 203 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 204 | 205 | - name: Install GH 206 | working-directory: ./vscodium 207 | run: ./install_gh.sh 208 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 209 | 210 | - name: Prepare VSCodium 211 | run: ./prepare.sh -r 212 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 213 | 214 | - name: Install dependencies 215 | run: ./build/linux/deps.sh 216 | working-directory: ./vscodium 217 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 218 | 219 | - uses: actions-rust-lang/setup-rust-toolchain@v1 220 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 221 | 222 | - name: Download vscode artifact 223 | uses: actions/download-artifact@v4 224 | with: 225 | name: vscode 226 | path: vscodium/ 227 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 228 | 229 | - name: Build 230 | env: 231 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 232 | npm_config_arch: ${{ matrix.npm_arch }} 233 | working-directory: ./vscodium 234 | run: ./build/linux/package_bin.sh 235 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 236 | 237 | - name: Prepare assets 238 | env: 239 | SHOULD_BUILD_REH: 'no' 240 | SHOULD_BUILD_REH_WEB: 'no' 241 | working-directory: ./vscodium 242 | run: ./prepare_assets.sh 243 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 244 | 245 | - name: Release 246 | env: 247 | GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }} 248 | GITHUB_USERNAME: ${{ github.repository_owner }} 249 | working-directory: ./vscodium 250 | run: ./release.sh 251 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 252 | 253 | - name: Update versions repo 254 | env: 255 | FORCE_UPDATE: ${{ github.event.inputs.force_version }} 256 | GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }} 257 | GITHUB_USERNAME: ${{ github.repository_owner }} 258 | working-directory: ./vscodium 259 | run: ./update_version.sh 260 | if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 261 | 262 | # - name: Upload assets 263 | # uses: actions/upload-artifact@v4 264 | # with: 265 | # name: bin-${{ matrix.vscode_arch }} 266 | # path: vscodium/assets/ 267 | # retention-days: 3 268 | # if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' 269 | 270 | reh_linux: 271 | needs: 272 | - check 273 | - compile 274 | runs-on: ubuntu-20.04 275 | strategy: 276 | fail-fast: false 277 | matrix: 278 | include: 279 | - slug: X64 280 | vscode_arch: x64 281 | npm_arch: x64 282 | - slug: ARM64 283 | vscode_arch: arm64 284 | npm_arch: arm64 285 | - slug: ARM32 286 | vscode_arch: armhf 287 | npm_arch: arm 288 | - slug: PPC64 289 | vscode_arch: ppc64le 290 | npm_arch: ppc64 291 | - slug: RISCV64 292 | vscode_arch: riscv64 293 | npm_arch: riscv64 294 | - slug: LOONG64 295 | vscode_arch: loong64 296 | npm_arch: loong64 297 | - slug: S390X 298 | vscode_arch: s390x 299 | npm_arch: s390x 300 | env: 301 | BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }} 302 | DISABLED: ${{ vars[format('DISABLE_STABLE_LINUX_REH_{0}', matrix.slug)] }} 303 | MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }} 304 | MS_TAG: ${{ needs.check.outputs.MS_TAG }} 305 | RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }} 306 | SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }} 307 | VSCODE_ARCH: ${{ matrix.vscode_arch }} 308 | VSCODIUM_COMMIT: ${{ needs.check.outputs.VSCODIUM_COMMIT }} 309 | if: needs.check.outputs.SHOULD_BUILD == 'yes' 310 | 311 | steps: 312 | - uses: actions/checkout@v4 313 | with: 314 | ref: ${{ env.GITHUB_BRANCH }} 315 | if: env.DISABLED != 'yes' 316 | 317 | - name: Setup GCC 318 | uses: egor-tensin/setup-gcc@v1 319 | with: 320 | version: 10 321 | platform: x64 322 | if: env.DISABLED != 'yes' 323 | 324 | - name: Setup Node.js environment 325 | uses: actions/setup-node@v4 326 | with: 327 | node-version: '20.18.2' 328 | if: env.DISABLED != 'yes' 329 | 330 | - name: Setup Python 3 331 | uses: actions/setup-python@v5 332 | with: 333 | python-version: '3.11' 334 | if: env.DISABLED != 'yes' 335 | 336 | - name: Install libkrb5-dev 337 | run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev 338 | if: env.DISABLED != 'yes' 339 | 340 | - name: Clone VSCodium repo 341 | run: ./get_repo.sh 342 | if: env.DISABLED != 'yes' 343 | 344 | - name: Check existing VSCodium tags/releases 345 | env: 346 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 347 | CHECK_ONLY_REH: 'yes' 348 | working-directory: ./vscodium 349 | run: ./check_tags.sh 350 | if: env.DISABLED != 'yes' 351 | 352 | - name: Install GH 353 | working-directory: ./vscodium 354 | run: ./install_gh.sh 355 | if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') 356 | 357 | - name: Prepare VSCodium 358 | run: ./prepare.sh -r 359 | if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') 360 | 361 | - name: Download vscode artifact 362 | uses: actions/download-artifact@v4 363 | with: 364 | name: vscode 365 | path: vscodium/ 366 | if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') 367 | 368 | - name: Build 369 | env: 370 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 371 | npm_config_arch: ${{ matrix.npm_arch }} 372 | working-directory: ./vscodium 373 | run: ./build/linux/package_reh.sh 374 | if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') 375 | 376 | - name: Release 377 | env: 378 | GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }} 379 | GITHUB_USERNAME: ${{ github.repository_owner }} 380 | working-directory: ./vscodium 381 | run: ./release.sh 382 | if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') 383 | 384 | reh_alpine: 385 | needs: 386 | - check 387 | - compile 388 | runs-on: ubuntu-20.04 389 | strategy: 390 | fail-fast: false 391 | matrix: 392 | include: 393 | - slug: X64 394 | vscode_arch: x64 395 | npm_arch: x64 396 | - slug: ARM64 397 | vscode_arch: arm64 398 | npm_arch: arm64 399 | env: 400 | BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }} 401 | DISABLED: ${{ vars[format('DISABLE_STABLE_ALPINE_REH_{0}', matrix.slug)] }} 402 | MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }} 403 | MS_TAG: ${{ needs.check.outputs.MS_TAG }} 404 | OS_NAME: alpine 405 | RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }} 406 | SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }} 407 | VSCODE_ARCH: ${{ matrix.vscode_arch }} 408 | VSCODIUM_COMMIT: ${{ needs.check.outputs.VSCODIUM_COMMIT }} 409 | if: needs.check.outputs.SHOULD_BUILD == 'yes' 410 | 411 | steps: 412 | - uses: actions/checkout@v4 413 | with: 414 | ref: ${{ env.GITHUB_BRANCH }} 415 | if: env.DISABLED != 'yes' 416 | 417 | - name: Setup GCC 418 | uses: egor-tensin/setup-gcc@v1 419 | with: 420 | version: 10 421 | platform: x64 422 | if: env.DISABLED != 'yes' 423 | 424 | - name: Install libkrb5-dev 425 | run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev 426 | if: env.DISABLED != 'yes' 427 | 428 | - name: Clone VSCodium repo 429 | run: ./get_repo.sh 430 | if: env.DISABLED != 'yes' 431 | 432 | - name: Check existing VSCodium tags/releases 433 | env: 434 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 435 | CHECK_ONLY_REH: 'yes' 436 | working-directory: ./vscodium 437 | run: ./check_tags.sh 438 | if: env.DISABLED != 'yes' 439 | 440 | - name: Install GH 441 | working-directory: ./vscodium 442 | run: ./install_gh.sh 443 | if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') 444 | 445 | - name: Prepare VSCodium 446 | run: ./prepare.sh -r 447 | if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') 448 | 449 | - name: Download vscode artifact 450 | uses: actions/download-artifact@v4 451 | with: 452 | name: vscode 453 | path: vscodium/ 454 | if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') 455 | 456 | - name: Build 457 | env: 458 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 459 | npm_config_arch: ${{ matrix.npm_arch }} 460 | working-directory: ./vscodium 461 | run: ./build/alpine/package_reh.sh 462 | if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') 463 | 464 | - name: Release 465 | env: 466 | GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }} 467 | GITHUB_USERNAME: ${{ github.repository_owner }} 468 | working-directory: ./vscodium 469 | run: ./release.sh 470 | if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') 471 | 472 | deploy-repo-dev: 473 | needs: 474 | - check 475 | - build 476 | runs-on: ubuntu-latest 477 | if: needs.check.outputs.SHOULD_BUILD == 'yes' 478 | 479 | steps: 480 | - name: Trigger repository rebuild 481 | uses: peter-evans/repository-dispatch@v3 482 | with: 483 | token: ${{ secrets.STRONGER_GITHUB_TOKEN }} 484 | repository: zokugun/MrCode-repo-linux 485 | event-type: deploy 486 | 487 | # aur: 488 | # needs: 489 | # - build 490 | # runs-on: ubuntu-latest 491 | # strategy: 492 | # fail-fast: false 493 | # matrix: 494 | # include: 495 | # - package_name: mrcode-bin 496 | # package_type: stable 497 | # - package_name: mrcode 498 | # package_type: stable 499 | # - package_name: mrcode-git 500 | # package_type: rolling 501 | 502 | # steps: 503 | # - name: Publish ${{ matrix.package_name }} 504 | # uses: zokugun/github-actions-aur-releaser@v1 505 | # with: 506 | # package_name: ${{ matrix.package_name }} 507 | # package_type: ${{ matrix.package_type }} 508 | # aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }} 509 | # aur_username: ${{ secrets.AUR_USERNAME }} 510 | # aur_email: ${{ secrets.AUR_EMAIL }} 511 | -------------------------------------------------------------------------------- /.github/workflows/stable-macos.yml: -------------------------------------------------------------------------------- 1 | name: stable-macos 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | new_release: 7 | type: boolean 8 | description: Force new Release 9 | force_version: 10 | type: boolean 11 | description: Force update version 12 | vscodium_latest: 13 | type: boolean 14 | description: Use latest VSCodium 15 | repository_dispatch: 16 | types: [stable] 17 | 18 | env: 19 | APP_NAME: MrCode 20 | ASSETS_REPOSITORY: ${{ github.repository }} 21 | BINARY_NAME: mrcode 22 | GH_REPO_PATH: ${{ github.repository_owner }}/${{ github.repository }} 23 | ORG_NAME: ${{ github.repository_owner }} 24 | OS_NAME: osx 25 | VERSIONS_REPOSITORY: ${{ github.repository_owner }}/MrCode-versions 26 | VSCODE_QUALITY: stable 27 | 28 | jobs: 29 | build: 30 | runs-on: ${{ matrix.runner }} 31 | env: 32 | VSCODE_ARCH: ${{ matrix.vscode_arch }} 33 | strategy: 34 | fail-fast: false 35 | matrix: 36 | include: 37 | - runner: macos-13 38 | vscode_arch: x64 39 | - runner: [self-hosted, macOS, ARM64] 40 | vscode_arch: arm64 41 | 42 | steps: 43 | - uses: actions/checkout@v4 44 | 45 | - name: Setup Node.js environment 46 | uses: actions/setup-node@v4 47 | with: 48 | node-version: '20.18.2' 49 | 50 | - name: Install Yarn 51 | run: npm install -g yarn 52 | 53 | - name: Setup Python 3 54 | uses: actions/setup-python@v5 55 | with: 56 | python-version: '3.11' 57 | if: env.VSCODE_ARCH == 'x64' 58 | 59 | - name: Clone VSCodium repo 60 | env: 61 | VSCODIUM_LATEST: ${{ github.event.inputs.vscodium_latest }} 62 | run: . get_repo.sh 63 | 64 | - name: Prepare VSCodium 65 | run: . prepare.sh 66 | 67 | - name: Check existing MrCode tags/releases 68 | env: 69 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 70 | NEW_RELEASE: ${{ github.event.inputs.new_release }} 71 | working-directory: ./vscodium 72 | run: . check_tags.sh 73 | 74 | - name: Build 75 | env: 76 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 77 | working-directory: ./vscodium 78 | run: ./build.sh 79 | if: env.SHOULD_BUILD == 'yes' 80 | 81 | - name: Prepare assets 82 | env: 83 | CERTIFICATE_OSX_APP_PASSWORD: ${{ secrets.CERTIFICATE_OSX_APP_PASSWORD }} 84 | CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }} 85 | CERTIFICATE_OSX_P12_DATA: ${{ secrets.CERTIFICATE_OSX_P12_DATA }} 86 | CERTIFICATE_OSX_P12_PASSWORD: ${{ secrets.CERTIFICATE_OSX_P12_PASSWORD }} 87 | CERTIFICATE_OSX_TEAM_ID: ${{ secrets.CERTIFICATE_OSX_TEAM_ID }} 88 | working-directory: ./vscodium 89 | run: ./prepare_assets.sh 90 | if: env.SHOULD_BUILD == 'yes' 91 | 92 | - name: Release 93 | env: 94 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 95 | working-directory: ./vscodium 96 | run: ./release.sh 97 | if: env.SHOULD_BUILD == 'yes' 98 | 99 | - name: Update versions repo 100 | env: 101 | FORCE_UPDATE: ${{ github.event.inputs.force_version }} 102 | GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }} 103 | GITHUB_USERNAME: ${{ github.repository_owner }} 104 | working-directory: ./vscodium 105 | run: ./update_version.sh 106 | if: env.SHOULD_BUILD == 'yes' || github.event.inputs.force_version 107 | 108 | - name: Clean up keychain 109 | if: always() 110 | run: | 111 | KEYCHAIN=$RUNNER_TEMP/build.keychain 112 | 113 | if [ -f "$KEYCHAIN" ]; 114 | then 115 | security delete-keychain $KEYCHAIN 116 | fi 117 | -------------------------------------------------------------------------------- /.github/workflows/stable-spearhead.yml: -------------------------------------------------------------------------------- 1 | name: stable-spearhead 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | new_release: 7 | type: boolean 8 | description: Force new Release 9 | force_dispatch: 10 | type: boolean 11 | description: Force dispatch 12 | lastest_vscodium: 13 | type: boolean 14 | description: Use latest VSCodium 15 | schedule: 16 | - cron: '0 20 * * *' 17 | 18 | jobs: 19 | build: 20 | runs-on: macos-14 21 | env: 22 | APP_NAME: MrCode 23 | ASSETS_REPOSITORY: ${{ github.repository }} 24 | BINARY_NAME: mrcode 25 | GH_REPO_PATH: ${{ github.repository_owner }}/${{ github.repository }} 26 | ORG_NAME: ${{ github.repository_owner }} 27 | OS_NAME: osx 28 | VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions 29 | VSCODE_ARCH: arm64 30 | VSCODE_QUALITY: stable 31 | 32 | steps: 33 | - uses: actions/checkout@v4 34 | 35 | - name: Setup Node.js environment 36 | uses: actions/setup-node@v4 37 | with: 38 | node-version: '20.18.2' 39 | 40 | - name: Install Yarn 41 | run: npm install -g yarn 42 | 43 | - name: Clone VSCodium repo 44 | env: 45 | VSCODIUM_LATEST: ${{ github.event.inputs.lastest_vscodium == 'true' && 'yes' || 'no' }} 46 | run: . get_repo.sh 47 | 48 | - name: Prepare VSCodium 49 | run: . prepare.sh 50 | 51 | - name: Check existing VSCodium tags/releases 52 | env: 53 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 54 | NEW_RELEASE: ${{ github.event.inputs.new_release }} 55 | IS_SPEARHEAD: 'yes' 56 | working-directory: ./vscodium 57 | run: . check_tags.sh 58 | 59 | - name: Build 60 | env: 61 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 62 | working-directory: ./vscodium 63 | run: ./build.sh 64 | if: env.SHOULD_BUILD == 'yes' 65 | 66 | - name: Import GPG key 67 | uses: crazy-max/ghaction-import-gpg@v6 68 | with: 69 | gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} 70 | passphrase: ${{ secrets.GPG_PASSPHRASE }} 71 | git_user_signingkey: true 72 | git_commit_gpgsign: true 73 | if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true' 74 | 75 | - name: Update upstream version 76 | run: ./update_upstream.sh 77 | if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true' 78 | 79 | - name: Prepare source 80 | run: | 81 | cp vscodium/prepare_src.sh . 82 | ./prepare_src.sh 83 | if: env.SHOULD_BUILD == 'yes' 84 | 85 | - name: Release source 86 | env: 87 | GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }} 88 | GITHUB_USERNAME: ${{ github.repository_owner }} 89 | run: | 90 | cp vscodium/release_notes.txt . 91 | sed -i -E "s|VSCodium/vscodium|zokugun/MrCode|g" release_notes.txt 92 | sed -i -E "s|VSCodium|MrCode|g" release_notes.txt 93 | sed -i -E "s|vscodium|mrcode|g" release_notes.txt 94 | sed -i -E "s|codium|mrcode|g" release_notes.txt 95 | cp vscodium/release.sh . 96 | sed -i -E "s|./utils.sh|./vscodium/utils.sh|" release.sh 97 | ./release.sh 98 | if: env.SHOULD_BUILD == 'yes' 99 | 100 | - name: Dispatch builds 101 | uses: peter-evans/repository-dispatch@v3 102 | with: 103 | event-type: 'stable' 104 | if: env.SHOULD_BUILD == 'yes' || github.event.inputs.force_dispatch == 'true' 105 | -------------------------------------------------------------------------------- /.github/workflows/stable-windows.yml: -------------------------------------------------------------------------------- 1 | name: stable-windows 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | new_release: 7 | type: boolean 8 | description: Force new Release 9 | force_version: 10 | type: boolean 11 | description: Force update version 12 | vscodium_latest: 13 | type: boolean 14 | description: Use latest VSCodium 15 | repository_dispatch: 16 | types: [stable] 17 | 18 | env: 19 | APP_NAME: MrCode 20 | ASSETS_REPOSITORY: ${{ github.repository }} 21 | BINARY_NAME: mrcode 22 | GH_REPO_PATH: ${{ github.repository_owner }}/${{ github.repository }} 23 | ORG_NAME: ${{ github.repository_owner }} 24 | OS_NAME: windows 25 | VERSIONS_REPOSITORY: ${{ github.repository_owner }}/MrCode-versions 26 | VSCODE_QUALITY: stable 27 | 28 | jobs: 29 | check: 30 | runs-on: ubuntu-latest 31 | outputs: 32 | MS_COMMIT: ${{ env.MS_COMMIT }} 33 | MS_TAG: ${{ env.MS_TAG }} 34 | RELEASE_VERSION: ${{ env.RELEASE_VERSION }} 35 | SHOULD_BUILD: ${{ env.SHOULD_BUILD }} 36 | VSCODIUM_COMMIT: ${{ env.VSCODIUM_COMMIT }} 37 | 38 | steps: 39 | - uses: actions/checkout@v4 40 | with: 41 | ref: ${{ env.GITHUB_BRANCH }} 42 | 43 | - name: Clone VSCodium repo 44 | env: 45 | VSCODIUM_LATEST: ${{ github.event.inputs.vscodium_latest }} 46 | run: ./get_repo.sh 47 | 48 | - name: Clone VSCode repo 49 | working-directory: ./vscodium 50 | run: ./get_repo.sh 51 | 52 | - name: Check existing VSCodium tags/releases 53 | env: 54 | CHECK_ALL: 'yes' 55 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 56 | NEW_RELEASE: ${{ github.event.inputs.new_release }} 57 | working-directory: ./vscodium 58 | run: ./check_tags.sh 59 | 60 | compile: 61 | needs: 62 | - check 63 | runs-on: ubuntu-20.04 64 | env: 65 | MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }} 66 | MS_TAG: ${{ needs.check.outputs.MS_TAG }} 67 | RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }} 68 | SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }} 69 | VSCODE_ARCH: 'x64' 70 | VSCODIUM_COMMIT: ${{ needs.check.outputs.VSCODIUM_COMMIT }} 71 | outputs: 72 | BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }} 73 | 74 | steps: 75 | - uses: actions/checkout@v4 76 | with: 77 | ref: ${{ env.GITHUB_BRANCH }} 78 | if: env.SHOULD_BUILD == 'yes' 79 | 80 | - name: Setup GCC 81 | uses: egor-tensin/setup-gcc@v1 82 | with: 83 | version: 10 84 | platform: x64 85 | 86 | - name: Setup Node.js environment 87 | uses: actions/setup-node@v4 88 | with: 89 | node-version: '20.18.2' 90 | if: env.SHOULD_BUILD == 'yes' 91 | 92 | - name: Install Yarn 93 | run: npm install -g yarn 94 | if: env.SHOULD_BUILD == 'yes' 95 | 96 | - name: Setup Python 3 97 | uses: actions/setup-python@v5 98 | with: 99 | python-version: '3.11' 100 | if: env.SHOULD_BUILD == 'yes' 101 | 102 | - name: Install libkrb5-dev 103 | run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev 104 | if: env.SHOULD_BUILD == 'yes' 105 | 106 | - name: Clone VSCodium repo 107 | run: ./get_repo.sh 108 | if: env.SHOULD_BUILD == 'yes' 109 | 110 | - name: Prepare VSCodium 111 | run: ./prepare.sh 112 | if: env.SHOULD_BUILD == 'yes' 113 | 114 | - name: Build 115 | env: 116 | SHOULD_BUILD_REH: 'no' 117 | SHOULD_BUILD_REH_WEB: 'no' 118 | working-directory: ./vscodium 119 | run: ./build.sh 120 | if: env.SHOULD_BUILD == 'yes' 121 | 122 | - name: Compress vscode artifact 123 | working-directory: ./vscodium 124 | run: | 125 | find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt 126 | echo "vscode/.build/extensions/node_modules" >> vscode.txt 127 | echo "vscode/.git" >> vscode.txt 128 | tar -czf vscode.tar.gz -T vscode.txt 129 | if: env.SHOULD_BUILD == 'yes' 130 | 131 | - name: Upload vscode artifact 132 | uses: actions/upload-artifact@v4 133 | with: 134 | name: vscode 135 | path: ./vscodium/vscode.tar.gz 136 | retention-days: 30 137 | if: env.SHOULD_BUILD == 'yes' 138 | 139 | build: 140 | needs: 141 | - check 142 | - compile 143 | runs-on: windows-2019 144 | strategy: 145 | fail-fast: false 146 | matrix: 147 | vscode_arch: 148 | - x64 149 | - arm64 150 | defaults: 151 | run: 152 | shell: bash 153 | env: 154 | BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }} 155 | MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }} 156 | MS_TAG: ${{ needs.check.outputs.MS_TAG }} 157 | RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }} 158 | SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }} 159 | VSCODE_ARCH: ${{ matrix.vscode_arch }} 160 | VSCODIUM_COMMIT: ${{ needs.check.outputs.VSCODIUM_COMMIT }} 161 | outputs: 162 | RELEASE_VERSION: ${{ env.RELEASE_VERSION }} 163 | 164 | steps: 165 | - uses: actions/checkout@v4 166 | with: 167 | ref: ${{ env.GITHUB_BRANCH }} 168 | if: env.SHOULD_BUILD == 'yes' 169 | 170 | - name: Setup Node.js environment 171 | uses: actions/setup-node@v4 172 | with: 173 | node-version: '20.18.2' 174 | if: env.SHOULD_BUILD == 'yes' 175 | 176 | - name: Install Yarn 177 | run: npm install -g yarn 178 | if: env.SHOULD_BUILD == 'yes' 179 | 180 | - name: Setup Python 3 181 | uses: actions/setup-python@v5 182 | with: 183 | python-version: '3.11' 184 | if: env.SHOULD_BUILD == 'yes' 185 | 186 | - name: Clone VSCodium repo 187 | run: ./get_repo.sh 188 | if: env.SHOULD_BUILD == 'yes' 189 | 190 | - name: Check existing VSCodium tags/releases 191 | env: 192 | DISABLE_MSI: ${{ vars.DISABLE_STABLE_MSI }} 193 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 194 | working-directory: ./vscodium 195 | run: ./check_tags.sh 196 | if: env.SHOULD_BUILD == 'yes' 197 | 198 | - name: Prepare VSCodium 199 | run: ./prepare.sh -r 200 | if: env.SHOULD_BUILD == 'yes' 201 | 202 | - name: Download vscode artifact 203 | uses: actions/download-artifact@v4 204 | with: 205 | name: vscode 206 | path: vscodium/ 207 | if: env.SHOULD_BUILD == 'yes' 208 | 209 | - name: Build 210 | env: 211 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 212 | npm_config_arch: ${{ matrix.vscode_arch }} 213 | npm_config_target_arch: ${{ matrix.vscode_arch }} 214 | working-directory: ./vscodium 215 | run: ./build/windows/package.sh 216 | if: env.SHOULD_BUILD == 'yes' 217 | 218 | - name: Prepare assets 219 | working-directory: ./vscodium 220 | run: ./prepare_assets.sh 221 | if: env.SHOULD_BUILD == 'yes' 222 | 223 | - name: Prepare checksums 224 | working-directory: ./vscodium 225 | run: ./prepare_checksums.sh 226 | if: env.SHOULD_BUILD == 'yes' 227 | 228 | - name: Release 229 | env: 230 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 231 | working-directory: ./vscodium 232 | run: ./release.sh 233 | if: env.SHOULD_BUILD == 'yes' 234 | 235 | - name: Update versions repo 236 | env: 237 | FORCE_UPDATE: ${{ github.event.inputs.force_version }} 238 | GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }} 239 | GITHUB_USERNAME: ${{ github.repository_owner }} 240 | working-directory: ./vscodium 241 | run: ./update_version.sh 242 | if: env.SHOULD_BUILD == 'yes' 243 | 244 | # - name: Upload assets 245 | # uses: actions/upload-artifact@v4 246 | # with: 247 | # name: bin-${{ matrix.vscode_arch }} 248 | # path: vscodium/assets/ 249 | # retention-days: 3 250 | # if: env.SHOULD_BUILD == 'yes' 251 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.env 2 | .DS_Store 3 | logo.sketch 4 | temp 5 | vscodium 6 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v20.18.3 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020-present Baptiste Augrain 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 |

MrCode

4 | 5 | [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/zokugun/MrCode/blob/master/LICENSE) 6 | [![current release](https://img.shields.io/github/release/zokugun/MrCode.svg?colorB=green)](https://github.com/zokugun/MrCode/releases) 7 | [![macOS](https://github.com/zokugun/MrCode/workflows/windows/badge.svg)](https://github.com/zokugun/MrCode/actions?query=workflow%3Awindows) 8 | [![macOS](https://github.com/zokugun/MrCode/workflows/macOS/badge.svg)](https://github.com/zokugun/MrCode/actions?query=workflow%3AmacOS) 9 | [![linux](https://github.com/zokugun/MrCode/workflows/linux/badge.svg)](https://github.com/zokugun/MrCode/actions?query=workflow%3Alinux) 10 | 11 |
12 | 13 | MrCode is a custom build of [VSCodium](https://github.com/VSCodium/vscodium) / [VSCode](https://github.com/microsoft/vscode). 14 | 15 | Download 16 | -------- 17 | 18 | [Download latest release here](https://github.com/zokugun/MrCode/releases) 19 | 20 | What's the difference? 21 | ---------------------- 22 | 23 | ### Patched Settings 24 | 25 | - editor.foldingStrategy replaced with builtin setting `editor.defaultFoldingRangeProvider` 26 | - editor.showFoldingLastLine 27 | - [keyboard.platform](./docs/settings/keyboard.platform.md) (WIP) 28 | - terminal.integrated.enableUriLinks 29 | - terminal.integrated.enableWordLinks 30 | - workbench.editor.openPositioning replaced with extension [Automatic Editor Sorter](https://open-vsx.org/extension/zokugun/automatic-editor-sorter) 31 | 32 | ### Patched Commands 33 | 34 | - [workbench.extensions.disableExtension](./docs/commands/workbench.extensions.disableExtension.md) 35 | - [workbench.extensions.enableExtension](./docs/commands/workbench.extensions.enableExtension.md) 36 | 37 | ### Patched Features 38 | 39 | - render and copy tab characters in the terminal (https://github.com/daiyam/xterm-tab) 40 | 41 | Supported Platforms 42 | ------------------- 43 | 44 | - [x] macOS (`zip`, `dmg`) macOS 10.15 or newer x64 45 | - [x] macOS (`zip`, `dmg`) macOS 11.0 or newer arm64 46 | - [x] GNU/Linux x64 (`deb`, `rpm`, `AppImage`, `snap`, `tar.gz`) 47 | - [x] GNU/Linux arm64 (`deb`, `rpm`, `snap`, `tar.gz`) 48 | - [x] GNU/Linux armhf (`deb`, `rpm`, `tar.gz`) 49 | - [x] GNU/Linux riscv64 (`tar.gz`) 50 | - [x] GNU/Linux loong64 (`tar.gz`) 51 | - [x] GNU/Linux ppc64le (`tar.gz`) 52 | - [x] Windows 10 / Server 2012 R2 or newer x64 53 | - [x] Windows 10 / Server 2012 R2 or newer arm64 54 | 55 | Supported App/Package Managers 56 | ------------------------------ 57 | 58 | - [AUR](https://aur.archlinux.org/packages/?K=mrcode) 59 | 60 | FAQ 61 | --- 62 | 63 | **Q:** How to migrate to MrCode? 64 | 65 | **A:** You can read the following documentation: [How to Migrate](./docs/migrate/index.md) 66 | 67 | **Q:** How do I open MrCode from the terminal? 68 | 69 | **A:** Please read the documentation: [Install `mrcode` command](./docs/terminal.md) 70 | 71 | News 72 | ---- 73 | 74 | - [VS Code Updates](https://code.visualstudio.com/updates) 75 | 76 | License 77 | ------- 78 | 79 | [MIT](http://www.opensource.org/licenses/mit-license.php) 80 | 81 | **Enjoy!** 82 | -------------------------------------------------------------------------------- /dev/build.ps1: -------------------------------------------------------------------------------- 1 | # powershell -ExecutionPolicy ByPass -File .\build\build.ps1 2 | 3 | # first so `bash` is the one installed with `git`, avoid conflict with WSL 4 | $env:Path = "C:\Program Files\Git\bin;" + $env:Path 5 | 6 | bash ./build/build.sh 7 | -------------------------------------------------------------------------------- /dev/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ### Windows 4 | # to run with Bash: "C:\Program Files\Git\bin\bash.exe" ./build/build.sh 5 | ### 6 | 7 | export APP_NAME="MrCode" 8 | export BINARY_NAME="mrcode" 9 | export CI_BUILD="no" 10 | export GH_REPO_PATH="zokugun/MrCode" 11 | export ORG_NAME="zokugun" 12 | export SHOULD_BUILD="yes" 13 | export SKIP_ASSETS="yes" 14 | export SKIP_BUILD="no" 15 | export SKIP_SOURCE="no" 16 | export VSCODE_QUALITY="stable" 17 | export VSCODIUM_LATEST="no" 18 | 19 | while getopts ":ilops" opt; do 20 | case "$opt" in 21 | i) 22 | export BINARY_NAME="mrcode-insiders" 23 | export VSCODE_QUALITY="insider" 24 | ;; 25 | l) 26 | export VSCODIUM_LATEST="yes" 27 | ;; 28 | o) 29 | export SKIP_BUILD="yes" 30 | ;; 31 | p) 32 | export SKIP_ASSETS="no" 33 | ;; 34 | s) 35 | export SKIP_SOURCE="yes" 36 | ;; 37 | *) 38 | ;; 39 | esac 40 | done 41 | 42 | case "${OSTYPE}" in 43 | darwin*) 44 | export OS_NAME="osx" 45 | ;; 46 | msys* | cygwin*) 47 | export OS_NAME="windows" 48 | ;; 49 | *) 50 | export OS_NAME="linux" 51 | ;; 52 | esac 53 | 54 | UNAME_ARCH=$( uname -m ) 55 | 56 | if [[ "${UNAME_ARCH}" == "aarch64" || "${UNAME_ARCH}" == "arm64" ]]; then 57 | export VSCODE_ARCH="arm64" 58 | elif [[ "${UNAME_ARCH}" == "ppc64le" ]]; then 59 | export VSCODE_ARCH="ppc64le" 60 | elif [[ "${UNAME_ARCH}" == "riscv64" ]]; then 61 | export VSCODE_ARCH="riscv64" 62 | elif [[ "${UNAME_ARCH}" == "loongarch64" ]]; then 63 | export VSCODE_ARCH="loong64" 64 | elif [[ "${UNAME_ARCH}" == "s390x" ]]; then 65 | export VSCODE_ARCH="s390x" 66 | else 67 | export VSCODE_ARCH="x64" 68 | fi 69 | 70 | export NODE_OPTIONS="--max-old-space-size=8192" 71 | 72 | echo "OS_NAME=\"${OS_NAME}\"" 73 | echo "SKIP_SOURCE=\"${SKIP_SOURCE}\"" 74 | echo "SKIP_BUILD=\"${SKIP_BUILD}\"" 75 | echo "SKIP_ASSETS=\"${SKIP_ASSETS}\"" 76 | echo "VSCODE_ARCH=\"${VSCODE_ARCH}\"" 77 | echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\"" 78 | echo "VSCODIUM_LATEST=\"${VSCODIUM_LATEST}\"" 79 | 80 | if [[ "${SKIP_SOURCE}" == "no" ]]; then 81 | rm -rf vscodium* 82 | 83 | . get_repo.sh 84 | . prepare.sh 85 | 86 | # save variables for later 87 | echo "MS_TAG=\"${MS_TAG}\"" > build.env 88 | echo "MS_COMMIT=\"${MS_COMMIT}\"" >> build.env 89 | echo "VSCODIUM_TAG=\"${VSCODIUM_TAG}\"" > build.env 90 | echo "VSCODIUM_COMMIT=\"${VSCODIUM_COMMIT}\"" >> build.env 91 | echo "RELEASE_VERSION=\"${RELEASE_VERSION}\"" >> build.env 92 | echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\"" >> build.env 93 | echo "APP_NAME=\"${APP_NAME}\"" >> build.env 94 | echo "APP_NAME_LC=\"${APP_NAME_LC}\"" >> build.env 95 | echo "BINARY_NAME=\"${BINARY_NAME}\"" >> build.env 96 | echo "GH_REPO_PATH=\"${GH_REPO_PATH}\"" >> build.env 97 | echo "ORG_NAME=\"${ORG_NAME}\"" >> build.env 98 | else 99 | if [[ "${SKIP_ASSETS}" != "no" ]]; then 100 | rm -rf vscodium/VSCode* 101 | fi 102 | 103 | . build.env 104 | 105 | echo "MS_TAG=\"${MS_TAG}\"" 106 | echo "MS_COMMIT=\"${MS_COMMIT}\"" 107 | echo "VSCODIUM_TAG=\"${VSCODIUM_TAG}\"" 108 | echo "VSCODIUM_COMMIT=\"${VSCODIUM_COMMIT}\"" 109 | echo "RELEASE_VERSION=\"${RELEASE_VERSION}\"" 110 | echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\"" 111 | fi 112 | 113 | if [[ "${SKIP_BUILD}" == "no" ]]; then 114 | cd vscodium 115 | 116 | if [[ "${SKIP_SOURCE}" != "no" ]]; then 117 | git add . 118 | git reset -q --hard HEAD 119 | 120 | cd .. 121 | 122 | . prepare.sh 123 | 124 | cd vscodium 125 | fi 126 | 127 | if [[ -f "./include_${OS_NAME}.gypi" ]]; then 128 | echo "Installing custom ~/.gyp/include.gypi" 129 | 130 | mkdir -p ~/.gyp 131 | 132 | if [[ -f "${HOME}/.gyp/include.gypi" ]]; then 133 | mv ~/.gyp/include.gypi ~/.gyp/include.gypi.pre-vscodium 134 | else 135 | echo "{}" > ~/.gyp/include.gypi.pre-vscodium 136 | fi 137 | 138 | cp ./build/osx/include.gypi ~/.gyp/include.gypi 139 | fi 140 | 141 | . build.sh 142 | 143 | cd .. 144 | 145 | if [[ "${VSCODIUM_LATEST}" == "yes" ]]; then 146 | jsonTmp=$( cat "./upstream/${VSCODE_QUALITY}.json" | jq --arg 'release' "${RELEASE_VERSION}" --arg 'tag' "${VSCODIUM_TAG}" --arg 'commit' "${VSCODIUM_COMMIT}" '. | .release=$release | .tag=$tag | .commit=$commit' ) 147 | echo "${jsonTmp}" > "./upstream/${VSCODE_QUALITY}.json" && unset jsonTmp 148 | fi 149 | fi 150 | 151 | if [[ "${SKIP_ASSETS}" == "no" ]]; then 152 | cd vscodium 153 | 154 | if [[ "${OS_NAME}" == "windows" ]]; then 155 | rm -rf build/windows/msi/releasedir 156 | fi 157 | 158 | . prepare_assets.sh 159 | fi 160 | -------------------------------------------------------------------------------- /dev/osx/codesign.env.template: -------------------------------------------------------------------------------- 1 | CERTIFICATE_OSX_APP_PASSWORD= 2 | CERTIFICATE_OSX_ID= 3 | CERTIFICATE_OSX_P12_DATA= 4 | CERTIFICATE_OSX_P12_PASSWORD= 5 | CERTIFICATE_OSX_TEAM_ID= 6 | -------------------------------------------------------------------------------- /dev/patch.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | echo "$#" 6 | 7 | cd vscodium || { echo "'vscodium' dir not found"; exit 1; } 8 | cd vscode || { echo "'vscode' dir not found"; exit 1; } 9 | 10 | git add . 11 | git reset -q --hard HEAD 12 | 13 | while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do 14 | git reset -q --hard HEAD~ 15 | done 16 | 17 | git apply --reject "../patches/helper/settings.patch" 18 | 19 | while [ $# -gt 1 ]; do 20 | echo "Parameter: $1" 21 | if [[ "${1}" == *patch ]]; then 22 | FILE="../../patches/${1}" 23 | else 24 | FILE="../../patches/${1}.patch" 25 | fi 26 | 27 | git apply --reject "${FILE}" 28 | 29 | shift 30 | done 31 | 32 | git add . 33 | git commit --no-verify -q -m "VSCODIUM HELPER" 34 | 35 | if [[ "${1}" == *patch ]]; then 36 | FILE="../../patches/${1}" 37 | else 38 | FILE="../../patches/${1}.patch" 39 | fi 40 | 41 | if [[ -f "${FILE}" ]]; then 42 | git apply --reject "${FILE}" || true 43 | fi 44 | 45 | read -rp "Press any key when the conflict have been resolved..." -n1 -s 46 | 47 | git add . 48 | git diff --staged -U1 > "${FILE}" 49 | git reset -q --hard HEAD~ 50 | 51 | echo "The patch has been generated." 52 | -------------------------------------------------------------------------------- /dev/update_patches.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # include common functions 4 | . ./vscodium/utils.sh 5 | 6 | # include variables 7 | . build.env 8 | 9 | case "${OSTYPE}" in 10 | darwin*) 11 | export OS_NAME="osx" 12 | ;; 13 | msys* | cygwin*) 14 | export OS_NAME="windows" 15 | ;; 16 | *) 17 | export OS_NAME="linux" 18 | ;; 19 | esac 20 | 21 | export VSCODE_QUALITY="stable" 22 | 23 | while getopts ":ilow" opt; do 24 | case "$opt" in 25 | i) 26 | export VSCODE_QUALITY="insider" 27 | ;; 28 | l) 29 | export OS_NAME="linux" 30 | ;; 31 | o) 32 | export OS_NAME="osx" 33 | ;; 34 | w) 35 | export OS_NAME="windows" 36 | ;; 37 | *) 38 | ;; 39 | esac 40 | done 41 | 42 | echo "APP_NAME=\"${APP_NAME}\"" 43 | echo "APP_NAME_LC=\"${APP_NAME_LC}\"" 44 | echo "BINARY_NAME=\"${BINARY_NAME}\"" 45 | echo "GH_REPO_PATH=\"${GH_REPO_PATH}\"" 46 | echo "ORG_NAME=\"${ORG_NAME}\"" 47 | echo "OS_NAME=\"${OS_NAME}\"" 48 | echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\"" 49 | 50 | check_file() { 51 | for file in ../patches/*.patch; do 52 | if [[ -f "${file}" ]]; then 53 | apply_patch "${file}" "no" 54 | fi 55 | done 56 | 57 | if [[ -d "../patches/${OS_NAME}/" ]]; then 58 | for file in "../patches/${OS_NAME}/"*.patch; do 59 | if [[ -f "${file}" ]]; then 60 | apply_patch "${file}" "no" 61 | fi 62 | done 63 | fi 64 | 65 | while [ $# -gt 1 ]; do 66 | git apply --reject "${1}" 67 | 68 | shift 69 | done 70 | 71 | if [[ -f "${1}" ]]; then 72 | path=$(echo ${1%/*}) 73 | file=$(echo ${1##*/}) 74 | 75 | if [[ -f "${path}/${OS_NAME}/${file}" ]]; then 76 | TARGET_FILE="${path}/${OS_NAME}/${file}" 77 | else 78 | TARGET_FILE="$1" 79 | fi 80 | 81 | echo "applying patch: ${TARGET_FILE}" 82 | 83 | if ! git apply --ignore-whitespace "${TARGET_FILE}"; then 84 | echo "failed to apply patch ${TARGET_FILE}" 85 | 86 | git apply --reject "../patches/helper/settings.patch" 87 | 88 | git add . 89 | git commit --no-verify -q -m "VSCODIUM HELPER" 90 | 91 | git apply --reject "${TARGET_FILE}" 92 | 93 | read -rp "Press any key when the conflict have been resolved..." -n1 -s 94 | 95 | git add . 96 | git diff --staged -U1 > "${TARGET_FILE}" 97 | 98 | git reset -q --hard HEAD~ 99 | fi 100 | fi 101 | 102 | git add . 103 | git reset -q --hard HEAD 104 | } 105 | 106 | cd vscodium || { echo "'vscodium' dir not found"; exit 1; } 107 | cd vscode || { echo "'vscode' dir not found"; exit 1; } 108 | 109 | git add . 110 | git reset -q --hard HEAD 111 | 112 | while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do 113 | git reset -q --hard HEAD~ 114 | done 115 | 116 | for FILE in ../../patches/*.patch; do 117 | check_file "${FILE}" 118 | done 119 | -------------------------------------------------------------------------------- /docs/commands/workbench.extensions.disableExtension.md: -------------------------------------------------------------------------------- 1 | workbench.extensions.disableExtension 2 | ===================================== 3 | 4 | The command `workbench.extensions.disableExtension` can be called by an extension to disable an extension. 5 | 6 | It's currently used by my extension [Sync Settings](https://github.com/zokugun/vscode-sync-settings). 7 | -------------------------------------------------------------------------------- /docs/commands/workbench.extensions.enableExtension.md: -------------------------------------------------------------------------------- 1 | workbench.extensions.enableExtension 2 | ===================================== 3 | 4 | The command `workbench.extensions.enableExtension` can be called by an extension to enable an extension. 5 | 6 | It's currently used by my extension [Sync Settings](https://github.com/zokugun/vscode-sync-settings). 7 | -------------------------------------------------------------------------------- /docs/migrate/index.md: -------------------------------------------------------------------------------- 1 | How to Migrate 2 | ============== 3 | 4 | MrCode stores your settings at: 5 | 6 | - __Windows__: `%APPDATA%\MrCode\User` 7 | - __macOS__: `~/Library/Application Support/MrCode/User` 8 | - __Linux__: `~/.config/MrCode/User` 9 | 10 | Use the following scripts to migrate: 11 | 12 | - [Windows](./windows.md) 13 | - [macOS](./macos.md) 14 | - [Linux](./linux.md) 15 | -------------------------------------------------------------------------------- /docs/migrate/linux.md: -------------------------------------------------------------------------------- 1 | Migrating to MrCode (Linux) 2 | =========================== 3 | 4 | Backup 5 | ------ 6 | 7 | ### VSCode 8 | 9 | ```sh 10 | mkdir -p User/snippets 11 | 12 | # Backup settings files 13 | cp ~/.config/Code/User/keybindings.json User/ 14 | cp ~/.config/Code/User/settings.json User/ 15 | cp ~/.config/Code/User/snippets/* User/snippets/ 16 | 17 | # Export extension list 18 | code --list-extensions | sort -f -o vscode-extensions.txt 19 | ``` 20 | 21 | ### VSCodium 22 | 23 | ```sh 24 | mkdir -p User/snippets 25 | 26 | # Backup settings files 27 | cp ~/.config/VSCodium/User/keybindings.json User/ 28 | cp ~/.config/VSCodium/User/settings.json User/ 29 | cp ~/.config/VSCodium/User/snippets/* User/snippets/ 30 | 31 | # Export extension list 32 | codium --list-extensions | sort -f -o vscode-extensions.txt 33 | ``` 34 | 35 | Restore 36 | ------- 37 | 38 | ```sh 39 | # Restore settings files 40 | cp -r User/* ~/.config/MrCode/User/ 41 | 42 | # Import extensions 43 | for LINE in $(cat "vscode-extensions.txt") 44 | do 45 | printf "%b%s%b\n" "\e[44m" "$LINE" "\e[49m" 46 | mrcode --install-extension "$LINE" 47 | echo -e "\n" 48 | done 49 | ``` -------------------------------------------------------------------------------- /docs/migrate/macos.md: -------------------------------------------------------------------------------- 1 | Migrating to MrCode (macOS) 2 | =========================== 3 | 4 | Backup 5 | ------ 6 | 7 | ### VSCode 8 | 9 | ```sh 10 | mkdir -p User/snippets 11 | 12 | # Backup settings files 13 | cp ~/Library/Application\ Support/Code/User/keybindings.json User/ 14 | cp ~/Library/Application\ Support/Code/User/settings.json User/ 15 | cp ~/Library/Application\ Support/Code/User/snippets/* User/snippets/ 16 | 17 | # Export extension list 18 | code --list-extensions | sort -f -o vscode-extensions.txt 19 | ``` 20 | 21 | ### VSCodium 22 | 23 | ```sh 24 | mkdir -p User/snippets 25 | 26 | # Backup settings files 27 | cp ~/Library/Application\ Support/VSCodium/User/keybindings.json User/ 28 | cp ~/Library/Application\ Support/VSCodium/User/settings.json User/ 29 | cp ~/Library/Application\ Support/VSCodium/User/snippets/* User/snippets/ 30 | 31 | # Export extension list 32 | codium --list-extensions | sort -f -o vscode-extensions.txt 33 | ``` 34 | 35 | Restore 36 | ------- 37 | 38 | ```sh 39 | # Restore settings files 40 | cp -r User/* ~/Library/Application\ Support/MrCode/User/ 41 | 42 | # Import extensions 43 | for LINE in $(cat "vscode-extensions.txt") 44 | do 45 | printf "%b%s%b\n" "\e[44m" "$LINE" "\e[49m" 46 | mrcode --install-extension "$LINE" 47 | echo -e "\n" 48 | done 49 | ``` -------------------------------------------------------------------------------- /docs/migrate/windows.md: -------------------------------------------------------------------------------- 1 | Migrating to MrCode (Windows) 2 | ============================= 3 | 4 | Backup 5 | ------ 6 | 7 | ### VSCode 8 | 9 | ```pwsh 10 | mkdir -ErrorAction SilentlyContinue User\snippets 11 | 12 | # Backup settings files 13 | Copy-Item -Path $env:appdata\Code\User\keybindings.json -Destination User 14 | Copy-Item -Path $env:appdata\Code\User\settings.json -Destination User 15 | Copy-Item -Path $env:appdata\Code\User\snippets\* -Destination User\snippets 16 | 17 | # Export extension list 18 | code --list-extensions | Out-File -FilePath vscode-extensions.txt 19 | ``` 20 | 21 | ### VSCodium 22 | 23 | ```pwsh 24 | mkdir -ErrorAction SilentlyContinue User\snippets 25 | 26 | # Backup settings files 27 | Copy-Item -Path $env:appdata\VSCodium\User\keybindings.json -Destination User 28 | Copy-Item -Path $env:appdata\VSCodium\User\settings.json -Destination User 29 | Copy-Item -Path $env:appdata\VSCodium\User\snippets\* -Destination User\snippets 30 | 31 | # Export extension list 32 | codium --list-extensions | Out-File -FilePath vscode-extensions.txt 33 | ``` 34 | 35 | Restore 36 | ------- 37 | 38 | ```pwsh 39 | # Restore settings files 40 | Get-ChildItem -File User | Copy-Item -Path { $_.FullName } -Destination $env:appdata\MrCode\User 41 | Get-ChildItem -File User\snippets | Copy-Item -Path { $_.FullName } -Destination $env:appdata\MrCode\User\snippets 42 | 43 | # Import extensions 44 | ForEach ($name in Get-Content vscode-extensions.txt) { 45 | Write-Host $name -ForegroundColor Blue 46 | mrcode --install-extension $name 47 | Write-Host `n 48 | } 49 | ``` -------------------------------------------------------------------------------- /docs/settings/editor.foldingStrategy.md: -------------------------------------------------------------------------------- 1 | editor.foldingStrategy 2 | ====================== 3 | 4 | The setting `editor.foldingStrategy` is extended to use the folding ranges provided by only one extension. 5 | 6 | For example, if you are using the extension [Explicit Folding](https://github.com/zokugun/vscode-explicit-folding): 7 | 8 | Traditionally, VSCode is using the folding ranges provided: 9 | - by the folding range provider defined by the setting `editor.foldingStrategy` (`auto` or `indentation`) 10 | - **and** by the folding range provider defined by that extension if `editor.foldingStrategy` is set to `auto` 11 | 12 | With [MrCode](https://github.com/zokugun/MrCode), it's using the folding ranges provided: 13 | - by the folding range provider defined by the setting `editor.foldingStrategy` (`auto` or `indentation`) 14 | - **or** by the folding range provider defined by that extension if `editor.foldingStrategy` is set to `explicit` 15 | 16 | Composite strategy 17 | ------------------ 18 | 19 | `editor.foldingStrategy` can combine differents folding range providers with the operators `&` and `|`: 20 | 21 | - `language | indentation`: folding ranges from a language provider or, if none found, from the indentation provider 22 | - `explicit & indentation`: folding ranges from the explicit provider and from the indentation provider 23 | 24 | `editor.foldingStrategy` supports only identical operators: 25 | - `language | explicit | indentation` is valid 26 | - `language | explicit & indentation` isn't and will be defaulted to `auto`. 27 | 28 | `auto` becomes an alias for `language | indentation`. 29 | -------------------------------------------------------------------------------- /docs/settings/editor.showFoldingLastLine.md: -------------------------------------------------------------------------------- 1 | editor.showFoldingLastLine 2 | ========================== 3 | 4 | The setting `editor.showFoldingLastLine` determines if the last line of the folding range is shown or not. 5 | By default, VSCode show the last line so its default value is `true`. 6 | 7 | The folding ranges aren't modified by that setting if the folding ranges are provided: 8 | - by the builtin indentation provider 9 | - or by a provider with the flag `isManagingLastLine` equals to `true`. 10 | -------------------------------------------------------------------------------- /docs/settings/keyboard.platform.md: -------------------------------------------------------------------------------- 1 | keyboard.platform 2 | ================= 3 | 4 | The setting `keyboard.platform` is used to select for which platform the keybindings are built. 5 | 6 | With `"keyboard.platform": "mac"`, you can use the shortcuts for macOS on a Linux or a Windows. 7 | With `"keyboard.platform": "windows"`, you can use the shortcuts for Windows on a Linux or a macOS. 8 | -------------------------------------------------------------------------------- /docs/settings/workbench.editor.openPositioning.md: -------------------------------------------------------------------------------- 1 | `workbench.editor.openPositioning` 2 | ================================== 3 | 4 | The setting `workbench.editor.openPositioning` has a new option: `sort` 5 | 6 | It can be controlled by 2 new settings: 7 | - `workbench.editor.openPositioningSortOrder`: `'asc' | 'desc'` 8 | - `workbench.editor.openPositioningSortRule`: `'name-local' | 'name-absolute' | 'absolute'` 9 | -------------------------------------------------------------------------------- /docs/terminal.md: -------------------------------------------------------------------------------- 1 | Install `mrcode` command 2 | ------------------------ 3 | 4 | - Go to the command palette (View | Command Palette...) 5 | - Choose `Shell command: Install 'mrcode' command in PATH`. 6 | 7 | ![](https://user-images.githubusercontent.com/587742/77121228-018f3a80-6a3b-11ea-8189-9dfe080d1a65.jpg) 8 | 9 | This allows you to open files or directories in MrCode directly from your terminal: 10 | 11 | ```bash 12 | ~/in-my-project $ mrcode . # open this directory 13 | ~/in-my-project $ mrcode file.txt # open this file 14 | ``` 15 | 16 | On linux, the command `mrcode` is automatically installed when you are installing the app. 17 | -------------------------------------------------------------------------------- /get_repo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -d vscodium ]; 4 | then 5 | cd vscodium 6 | 7 | git fetch --all 8 | else 9 | git clone https://github.com/VSCodium/vscodium.git 10 | 11 | cd vscodium 12 | fi 13 | 14 | if [[ -z "${RELEASE_VERSION}" ]]; then 15 | if [[ "${VSCODIUM_LATEST}" == "yes" ]] || [[ ! -f "../upstream/${VSCODE_QUALITY}.json" ]]; then 16 | echo "Retrieve lastest version" 17 | 18 | git pull origin master 19 | 20 | VSCODIUM_COMMIT=$( git log --no-show-signature --format="%H" -n 1 ) 21 | VSCODIUM_TAG=$( git tag -l --sort=-version:refname | head -1 ) 22 | else 23 | echo "Get version from ${VSCODE_QUALITY}.json" 24 | VSCODIUM_COMMIT=$( jq -r '.commit' "../upstream/${VSCODE_QUALITY}.json" ) 25 | VSCODIUM_TAG=$( jq -r '.tag' "../upstream/${VSCODE_QUALITY}.json" ) 26 | fi 27 | 28 | if [[ "${VSCODIUM_TAG}" =~ ^([0-9]+\.[0-9]+\.[0-5])[0-9]+$ ]]; 29 | then 30 | MS_TAG="${BASH_REMATCH[1]}" 31 | else 32 | echo "Bad VSCodium tag: $VSCODIUM_TAG" 33 | exit 1 34 | fi 35 | 36 | TIME_PATCH=$( printf "%04d" $(($(date +%-j) * 24 + $(date +%-H))) ) 37 | 38 | if [[ "${VSCODE_QUALITY}" == "insider" ]]; then 39 | RELEASE_VERSION="${MS_TAG}${TIME_PATCH}-insider" 40 | else 41 | RELEASE_VERSION="${MS_TAG}${TIME_PATCH}" 42 | fi 43 | 44 | git checkout $VSCODIUM_COMMIT 45 | elif [[ "${RELEASE_VERSION}" == "$( jq -r '.release' "../upstream/${VSCODE_QUALITY}.json" )" ]]; then 46 | echo "Get version from ${VSCODE_QUALITY}.json" 47 | VSCODIUM_COMMIT=$( jq -r '.commit' "../upstream/${VSCODE_QUALITY}.json" ) 48 | VSCODIUM_TAG=$( jq -r '.tag' "../upstream/${VSCODE_QUALITY}.json" ) 49 | 50 | if [[ "${VSCODIUM_TAG}" =~ ^([0-9]+\.[0-9]+\.[0-5])[0-9]+$ ]]; 51 | then 52 | MS_TAG="${BASH_REMATCH[1]}" 53 | else 54 | echo "Bad VSCodium tag: $VSCODIUM_TAG" 55 | exit 1 56 | fi 57 | else 58 | if [[ "${RELEASE_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-5])[0-9]+$ ]]; 59 | then 60 | MS_TAG="${BASH_REMATCH[1]}" 61 | else 62 | echo "Bad Release version: $RELEASE_VERSION" 63 | exit 1 64 | fi 65 | 66 | VSCODIUM_TAG=$( git tag -l --sort=-version:refname | grep "${MS_TAG}" | head -1 ) 67 | 68 | echo "Found VSCodium tag: ${VSCODIUM_TAG}" 69 | 70 | git checkout $VSCODIUM_TAG 71 | 72 | VSCODIUM_COMMIT=$( git log --no-show-signature --format="%H" -n 1 ) 73 | fi 74 | 75 | echo "VSCODIUM_TAG=\"${VSCODIUM_TAG}\"" 76 | echo "VSCODIUM_COMMIT=\"${VSCODIUM_COMMIT}\"" 77 | 78 | cd .. 79 | 80 | # for GH actions 81 | if [[ "${GITHUB_ENV}" ]]; then 82 | echo "MS_TAG=${MS_TAG}" >> "${GITHUB_ENV}" 83 | echo "VSCODIUM_TAG=${VSCODIUM_TAG}" >> "${GITHUB_ENV}" 84 | echo "VSCODIUM_COMMIT=${VSCODIUM_COMMIT}" >> "${GITHUB_ENV}" 85 | echo "RELEASE_VERSION=${RELEASE_VERSION}" >> "${GITHUB_ENV}" 86 | fi 87 | 88 | export MS_TAG 89 | export VSCODIUM_TAG 90 | export VSCODIUM_COMMIT 91 | export RELEASE_VERSION 92 | -------------------------------------------------------------------------------- /icons/build_icons.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | source "./vscodium/icons/build_icons.sh" 4 | 5 | SRC_PREFIX="src/" 6 | VSCODE_PREFIX="vscodium/" 7 | 8 | # build_darwin_main 9 | # build_linux_main 10 | # build_windows_main 11 | 12 | # build_darwin_types 13 | # build_windows_types 14 | 15 | build_media 16 | build_server 17 | -------------------------------------------------------------------------------- /icons/code_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/icons/code_64.png -------------------------------------------------------------------------------- /icons/code_darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/icons/code_darwin.png -------------------------------------------------------------------------------- /icons/codium_only.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /icons/corner_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/icons/corner_512.png -------------------------------------------------------------------------------- /patches/extension-management.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts 2 | index 749429a..8ef0ffa 100644 3 | --- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts 4 | +++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts 5 | @@ -10,3 +10,3 @@ import { MenuRegistry, MenuId, registerAction2, Action2, IMenuItem, IAction2Opti 6 | import { InstantiationType, registerSingleton } from '../../../../platform/instantiation/common/extensions.js'; 7 | -import { ExtensionsLocalizedLabel, IExtensionManagementService, IExtensionGalleryService, PreferencesLocalizedLabel, EXTENSION_INSTALL_SOURCE_CONTEXT, ExtensionInstallSource, UseUnpkgResourceApiConfigKey, AllowedExtensionsConfigKey, SortBy, FilterType } from '../../../../platform/extensionManagement/common/extensionManagement.js'; 8 | +import { ExtensionsLocalizedLabel, IExtensionManagementService, IExtensionGalleryService, PreferencesLocalizedLabel, EXTENSION_INSTALL_SOURCE_CONTEXT, ExtensionInstallSource, UseUnpkgResourceApiConfigKey, AllowedExtensionsConfigKey, SortBy, FilterType, IGlobalExtensionEnablementService } from '../../../../platform/extensionManagement/common/extensionManagement.js'; 9 | import { EnablementState, IExtensionManagementServerService, IPublisherInfo, IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from '../../../services/extensionManagement/common/extensionManagement.js'; 10 | @@ -540,2 +540,46 @@ CommandsRegistry.registerCommand({ 11 | 12 | +CommandsRegistry.registerCommand({ 13 | + id: 'workbench.extensions.disableExtension', 14 | + metadata: { 15 | + description: localize('workbench.extensions.disableExtension.description', "Disable the given extension"), 16 | + args: [ 17 | + { 18 | + name: localize('workbench.extensions.disableExtension.arg.name', "Id of the extension to disable"), 19 | + schema: { 20 | + 'type': 'string' 21 | + } 22 | + } 23 | + ] 24 | + }, 25 | + handler: async (accessor, id: string) => { 26 | + if (!id) { 27 | + throw new Error(localize('id required', "Extension id required.")); 28 | + } 29 | + const extensionManagementService = accessor.get(IGlobalExtensionEnablementService); 30 | + extensionManagementService.disableExtension({ id }); 31 | + } 32 | +}); 33 | + 34 | +CommandsRegistry.registerCommand({ 35 | + id: 'workbench.extensions.enableExtension', 36 | + metadata: { 37 | + description: localize('workbench.extensions.enableExtension.description', "Enable the given extension"), 38 | + args: [ 39 | + { 40 | + name: localize('workbench.extensions.enableExtension.arg.name', "Id of the extension to enable"), 41 | + schema: { 42 | + 'type': 'string' 43 | + } 44 | + } 45 | + ] 46 | + }, 47 | + handler: async (accessor, id: string) => { 48 | + if (!id) { 49 | + throw new Error(localize('id required', "Extension id required.")); 50 | + } 51 | + const extensionManagementService = accessor.get(IGlobalExtensionEnablementService); 52 | + extensionManagementService.enableExtension({ id }); 53 | + } 54 | +}); 55 | + 56 | function overrideActionForActiveExtensionEditorWebview(command: MultiCommand | undefined, f: (webview: IWebview) => void) { 57 | -------------------------------------------------------------------------------- /patches/keyboard-platform.patch.no: -------------------------------------------------------------------------------- 1 | diff --git a/src/vs/platform/keybinding/common/keybindingsRegistry.ts b/src/vs/platform/keybinding/common/keybindingsRegistry.ts 2 | index 75c0bd4..78117a5 100644 3 | --- a/src/vs/platform/keybinding/common/keybindingsRegistry.ts 4 | +++ b/src/vs/platform/keybinding/common/keybindingsRegistry.ts 5 | @@ -73,6 +73,7 @@ export interface IKeybindingsRegistry { 6 | setExtensionKeybindings(rules: IExtensionKeybindingRule[]): void; 7 | registerCommandAndKeybindingRule(desc: ICommandAndKeybindingRule): void; 8 | getDefaultKeybindings(): IKeybindingItem[]; 9 | + setPlatform(platform?: string): void; 10 | } 11 | 12 | class KeybindingsRegistryImpl implements IKeybindingsRegistry { 13 | @@ -80,6 +81,8 @@ class KeybindingsRegistryImpl implements IKeybindingsRegistry { 14 | private _coreKeybindings: IKeybindingItem[]; 15 | private _extensionKeybindings: IKeybindingItem[]; 16 | private _cachedMergedKeybindings: IKeybindingItem[] | null; 17 | + private _platform = OS; 18 | + private _keybindingRuleCache: IKeybindingRule[] | null = [] 19 | 20 | constructor() { 21 | this._coreKeybindings = []; 22 | @@ -90,12 +93,12 @@ class KeybindingsRegistryImpl implements IKeybindingsRegistry { 23 | /** 24 | * Take current platform into account and reduce to primary & secondary. 25 | */ 26 | - private static bindToCurrentPlatform(kb: IKeybindings): { primary?: number; secondary?: number[] } { 27 | - if (OS === OperatingSystem.Windows) { 28 | + private bindToCurrentPlatform(kb: IKeybindings): { primary?: number; secondary?: number[]; } { 29 | + if (this._platform === OperatingSystem.Windows) { 30 | if (kb && kb.win) { 31 | return kb.win; 32 | } 33 | - } else if (OS === OperatingSystem.Macintosh) { 34 | + } else if (this._platform === OperatingSystem.Macintosh) { 35 | if (kb && kb.mac) { 36 | return kb.mac; 37 | } 38 | @@ -108,11 +111,41 @@ class KeybindingsRegistryImpl implements IKeybindingsRegistry { 39 | return kb; 40 | } 41 | 42 | + public setPlatform(platform?: string): void { 43 | + if (this._keybindingRuleCache) { 44 | + if (!platform) { 45 | + this._platform = OS; 46 | + } else if (platform === 'linux') { 47 | + this._platform = OperatingSystem.Linux; 48 | + } else if (platform === 'mac') { 49 | + this._platform = OperatingSystem.Macintosh; 50 | + } else if (platform === 'windows') { 51 | + this._platform = OperatingSystem.Windows; 52 | + } else { 53 | + this._platform = OS; 54 | + } 55 | + 56 | + for (const rule of this._keybindingRuleCache) { 57 | + this._registerKeybindingRule(rule); 58 | + } 59 | + 60 | + this._keybindingRuleCache = null; 61 | + } 62 | + } 63 | + 64 | public registerKeybindingRule(rule: IKeybindingRule): void { 65 | - const actualKb = KeybindingsRegistryImpl.bindToCurrentPlatform(rule); 66 | + if (this._keybindingRuleCache) { 67 | + this._keybindingRuleCache.push(rule) 68 | + } else { 69 | + this._registerKeybindingRule(rule); 70 | + } 71 | + } 72 | + 73 | + public _registerKeybindingRule(rule: IKeybindingRule): void { 74 | + const actualKb = this.bindToCurrentPlatform(rule); 75 | 76 | if (actualKb && actualKb.primary) { 77 | - const kk = createKeybinding(actualKb.primary, OS); 78 | + const kk = createKeybinding(actualKb.primary, this._platform); 79 | if (kk) { 80 | this._registerDefaultKeybinding(kk, rule.id, rule.args, rule.weight, 0, rule.when); 81 | } 82 | @@ -121,7 +154,7 @@ class KeybindingsRegistryImpl implements IKeybindingsRegistry { 83 | if (actualKb && Array.isArray(actualKb.secondary)) { 84 | for (let i = 0, len = actualKb.secondary.length; i < len; i++) { 85 | const k = actualKb.secondary[i]; 86 | - const kk = createKeybinding(k, OS); 87 | + const kk = createKeybinding(k, this._platform); 88 | if (kk) { 89 | this._registerDefaultKeybinding(kk, rule.id, rule.args, rule.weight, -i - 1, rule.when); 90 | } 91 | diff --git a/src/vs/workbench/services/configuration/browser/configurationService.ts b/src/vs/workbench/services/configuration/browser/configurationService.ts 92 | index 0b39d04..79bcf33 100644 93 | --- a/src/vs/workbench/services/configuration/browser/configurationService.ts 94 | +++ b/src/vs/workbench/services/configuration/browser/configurationService.ts 95 | @@ -39,6 +39,7 @@ import { IExtensionService } from 'vs/workbench/services/extensions/common/exten 96 | import { IWorkbenchAssignmentService } from 'vs/workbench/services/assignment/common/assignmentService'; 97 | import { isUndefined } from 'vs/base/common/types'; 98 | import { localize } from 'vs/nls'; 99 | +import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry'; 100 | 101 | class Workspace extends BaseWorkspace { 102 | initialized: boolean = false; 103 | @@ -526,6 +527,8 @@ export class WorkspaceService extends Disposable implements IWorkbenchConfigurat 104 | 105 | await this.initializeConfiguration(); 106 | 107 | + KeybindingsRegistry.setPlatform(this.getValue('keyboard.platform')); 108 | + 109 | // Trigger changes after configuration initialization so that configuration is up to date. 110 | if (hasWorkspaceBefore) { 111 | const newState = this.getWorkbenchState(); 112 | diff --git a/src/vs/workbench/services/keybinding/browser/keybindingService.ts b/src/vs/workbench/services/keybinding/browser/keybindingService.ts 113 | index b55025b..bd10072 100644 114 | --- a/src/vs/workbench/services/keybinding/browser/keybindingService.ts 115 | +++ b/src/vs/workbench/services/keybinding/browser/keybindingService.ts 116 | @@ -899,6 +899,13 @@ const keyboardConfiguration: IConfigurationNode = { 117 | default: 'code', 118 | markdownDescription: nls.localize('dispatch', "Controls the dispatching logic for key presses to use either `code` (recommended) or `keyCode`."), 119 | included: OS === OperatingSystem.Macintosh || OS === OperatingSystem.Linux 120 | + }, 121 | + 'keyboard.platform': { 122 | + scope: ConfigurationScope.APPLICATION, 123 | + type: 'string', 124 | + enum: ['auto', 'linux', 'mac', 'windows'], 125 | + default: 'auto', 126 | + markdownDescription: nls.localize('platform', "Set the platform for which the keybindings are built.") 127 | } 128 | } 129 | }; 130 | -------------------------------------------------------------------------------- /prepare.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | DOWNLOAD_VSCODE="yes" 6 | 7 | while getopts ":r" opt; do 8 | case "$opt" in 9 | r) 10 | DOWNLOAD_VSCODE="no" 11 | ;; 12 | *) 13 | ;; 14 | esac 15 | done 16 | 17 | function backup() { 18 | if [ -f "$1.bak" ]; then 19 | cp $1.bak $1 20 | else 21 | cp $1 $1.bak 22 | fi 23 | } 24 | 25 | cp -rp src/* vscodium/ 26 | 27 | cd vscodium || exit 28 | 29 | . ./utils.sh 30 | 31 | # prepare_vscode.sh {{{ 32 | backup 'prepare_vscode.sh' 33 | 34 | replace 's|"updateUrl".*|"updateUrl" "https://raw.githubusercontent.com/zokugun/MrCode-versions/refs/heads/master"|' prepare_vscode.sh 35 | if [[ "${VSCODE_QUALITY}" == "insider" ]]; then 36 | replace 's|"downloadUrl".*|"downloadUrl" "https://github.com/zokugun/MrCode-Insiders/releases"|' prepare_vscode.sh 37 | else 38 | replace 's|"downloadUrl".*|"downloadUrl" "https://github.com/zokugun/MrCode/releases"|' prepare_vscode.sh 39 | fi 40 | replace 's|"licenseUrl".*|"licenseUrl" "https://github.com/zokugun/MrCode/blob/master/LICENSE"|' prepare_vscode.sh 41 | replace 's|"reportIssueUrl".*|"reportIssueUrl" "https://github.com/zokugun/MrCode/issues/new"|' prepare_vscode.sh 42 | 43 | replace 's|"nameShort" "VSCodium|"nameShort" "MrCode|' prepare_vscode.sh 44 | replace 's|"nameLong" "VSCodium|"nameLong" "MrCode|' prepare_vscode.sh 45 | replace 's|"applicationName" "codium|"applicationName" "mrcode|' prepare_vscode.sh 46 | replace 's|"dataFolderName" ".vscodium-insiders|"dataFolderName" ".mrcode-insiders|' prepare_vscode.sh 47 | replace 's|"linuxIconName" "vscodium|"linuxIconName" "mrcode|' prepare_vscode.sh 48 | replace 's|"urlProtocol" "vscodium|"urlProtocol" "mrcode|' prepare_vscode.sh 49 | replace 's|"serverApplicationName" "codium-server|"serverApplicationName" "mrcode-server|' prepare_vscode.sh 50 | replace 's|"serverDataFolderName" ".vscodium-server|"serverDataFolderName" ".mrcode-server|' prepare_vscode.sh 51 | replace 's|"darwinBundleIdentifier" "com.vscodium.VSCodiumInsiders|"darwinBundleIdentifier" "org.zokugun.mrcodeinsiders|' prepare_vscode.sh 52 | replace 's|"darwinBundleIdentifier" "com.vscodium|"darwinBundleIdentifier" "org.zokugun.mrcode|' prepare_vscode.sh 53 | replace 's|"win32AppUserModelId" "VSCodium.VSCodium|"win32AppUserModelId" "Zokugun.MrCode|' prepare_vscode.sh 54 | replace 's|"win32DirName" "VSCodium|"win32DirName" "MrCode|' prepare_vscode.sh 55 | replace 's|"win32MutexName" "vscodium|"win32MutexName" "mrcode|' prepare_vscode.sh 56 | replace 's|"win32NameVersion" "VSCodium|"win32NameVersion" "MrCode|' prepare_vscode.sh 57 | replace 's|"win32RegValueName" "VSCodium|"win32RegValueName" "MrCode|' prepare_vscode.sh 58 | replace 's|"win32ShellNameShort" "VSCodium|"win32ShellNameShort" "MrCode|' prepare_vscode.sh 59 | replace 's|"tunnelApplicationName" "codium-tunnel(-insiders)?|"tunnelApplicationName" "mrcode-tunnel\1|' prepare_vscode.sh 60 | replace 's|"win32TunnelServiceMutex" "vscodium(insiders)?-tunnelservice|"win32TunnelServiceMutex" "mrcode\1-tunnelservice|' prepare_vscode.sh 61 | replace 's|"win32TunnelMutex" "vscodium(insiders)?-tunnel|"win32TunnelMutex" "mrcode\1-tunnel|' prepare_vscode.sh 62 | 63 | replace 's|"win32AppId" "\{\{763CBF88-25C6-4B10-952F-326AE657F16B\}"|"win32AppId" "{{0BD0DE9B-0738-49CE-97C6-75CED083CE4E}"|' prepare_vscode.sh 64 | replace 's|"win32x64AppId" "\{\{88DA3577-054F-4CA1-8122-7D820494CFFB\}"|"win32x64AppId" "{{09FF1437-F543-4CF3-9204-C4BB886DF9BE}"|' prepare_vscode.sh 65 | replace 's|"win32arm64AppId" "\{\{67DEE444-3D04-4258-B92A-BC1F0FF2CAE4\}"|"win32arm64AppId" "{{035AE7E2-AD42-4139-A9A3-FD9DFC56BDE5}"|' prepare_vscode.sh 66 | replace 's|"win32UserAppId" "\{\{0FD05EB4-651E-4E78-A062-515204B47A3A\}"|"win32UserAppId" "{{7D1F645C-DF50-42D7-8054-9BFAF60CEDF3}"|' prepare_vscode.sh 67 | replace 's|"win32x64UserAppId" "\{\{2E1F05D1-C245-4562-81EE-28188DB6FD17\}"|"win32x64UserAppId" "{{7678C6A4-C40E-4B93-AA07-D50A6DF862F1}"|' prepare_vscode.sh 68 | replace 's|"win32arm64UserAppId" "\{\{57FD70A5-1B8D-4875-9F40-C5553F094828\}"|"win32arm64UserAppId" "{{E25CEB79-4621-482A-ACAE-8FCB57FD29BD}"|' prepare_vscode.sh 69 | 70 | replace 's=code-oss/codium=code-oss/mrcode=g' prepare_vscode.sh 71 | 72 | replace 's/Microsoft Corporation\|VSCodium Team/Microsoft Corporation|Zokugun/g' prepare_vscode.sh 73 | replace 's/Microsoft Corporation\|VSCodium/Microsoft Corporation|Zokugun/g' prepare_vscode.sh 74 | replace 's=\(\[0-9\]\) Microsoft\|\\1 VSCodium=([0-9]) Microsoft|\\1 Zokugun=g' prepare_vscode.sh 75 | replace 's/Visual Studio Code\|VSCodium/Visual Studio Code|MrCode/g' prepare_vscode.sh 76 | replace 's=https://code\.visualstudio\.com/docs/setup/linux\|https://github\.com/VSCodium/vscodium#download-install=https://code.visualstudio.com/docs/setup/linux|https://github.com/zokugun/MrCode=g' prepare_vscode.sh 77 | replace 's=https://code.visualstudio.com\|https://vscodium.com=https://code.visualstudio.com|https://github.com/zokugun/MrCode=g' prepare_vscode.sh 78 | replace 's|VSCodium Team https://github.com/VSCodium/vscodium/graphs/contributors|Zokugun https://github.com/zokugun/MrCode/graphs/contributors|g' prepare_vscode.sh 79 | 80 | replace '/"applicationName" "mrcode".*/a\ 81 | setpath "product" "dataFolderName" ".mrcode"\ 82 | ' prepare_vscode.sh 83 | 84 | replace 's|"resources/server/manifest" "name" "VSCodium|"resources/server/manifest" "name" "MrCode|' prepare_vscode.sh 85 | replace 's|"resources/server/manifest" "short_name" "VSCodium|"resources/server/manifest" "short_name" "MrCode|' prepare_vscode.sh 86 | 87 | # build_cli.sh 88 | backup 'build_cli.sh' 89 | 90 | replace 's|VSCODE_CLI_UPDATE_ENDPOINT=.*|VSCODE_CLI_UPDATE_ENDPOINT="https://raw.githubusercontent.com/zokugun/MrCode-versions/refs/heads/master"|' build_cli.sh 91 | if [[ "${VSCODE_QUALITY}" == "insider" ]]; then 92 | replace 's|VSCODE_CLI_DOWNLOAD_ENDPOINT=.*|VSCODE_CLI_DOWNLOAD_ENDPOINT="https://github.com/zokugun/MrCode-Insiders/releases"|' build_cli.sh 93 | else 94 | replace 's|VSCODE_CLI_DOWNLOAD_ENDPOINT=.*|VSCODE_CLI_DOWNLOAD_ENDPOINT="https://github.com/zokugun/MrCode/releases"|' build_cli.sh 95 | fi 96 | 97 | # build/linux/appimage/recipe.yml 98 | backup 'build/linux/appimage/recipe.yml' 99 | replace 's/VSCodium/MrCode/g' build/linux/appimage/recipe.yml 100 | 101 | # build/linux/appimage/build.sh 102 | backup 'build/linux/appimage/build.sh' 103 | replace 's/VSCodium\|vscodium/zokugun|MrCode/' build/linux/appimage/build.sh 104 | replace 's/VSCodium/MrCode/g' build/linux/appimage/build.sh 105 | replace 's/vscodium/mrcode/g' build/linux/appimage/build.sh 106 | replace 's/codium/mrcode/g' build/linux/appimage/build.sh 107 | 108 | # build/windows/msi/build.sh 109 | backup 'build/windows/msi/build.sh' 110 | replace 's/PRODUCT_NAME="VSCodium/PRODUCT_NAME="MrCode/' build/windows/msi/build.sh 111 | replace 's/PRODUCT_SKU="vscodium/PRODUCT_SKU="mrcode/' build/windows/msi/build.sh 112 | replace 's/PRODUCT_CODE="VSCodium/PRODUCT_CODE="MrCode/' build/windows/msi/build.sh 113 | replace 's/PRODUCT_UPGRADE_CODE="965370CD-253C-4720-82FC-2E6B02A53808"/PRODUCT_UPGRADE_CODE="DB7C32FE-9AB3-422E-9A98-47B2361E24A6"/' build/windows/msi/build.sh 114 | replace 's/PRODUCT_UPGRADE_CODE="1C9B7195-5A9A-43B3-B4BD-583E20498467"/PRODUCT_UPGRADE_CODE="C3A419D9-B4DF-489A-84CF-4AF763E08965"/' build/windows/msi/build.sh 115 | replace 's/OUTPUT_BASE_FILENAME="VSCodium/OUTPUT_BASE_FILENAME="MrCode/' build/windows/msi/build.sh 116 | replace 's|dManufacturerName="VSCodium"|dManufacturerName="zokugun"|' build/windows/msi/build.sh 117 | 118 | # build/windows/msi/vscodium.wxs 119 | backup 'build/windows/msi/vscodium.wxs' 120 | replace 's/VSCodium/MrCode/g' build/windows/msi/vscodium.wxs 121 | replace 's/VSCODIUM/MRCODE/g' build/windows/msi/vscodium.wxs 122 | 123 | # build/windows/msi/vscodium.xsl 124 | backup 'build/windows/msi/vscodium.xsl' 125 | replace 's/VSCodium/MrCode/g' build/windows/msi/vscodium.xsl 126 | replace 's/VSCODIUM/MRCODE/g' build/windows/msi/vscodium.xsl 127 | 128 | # LICENSE 129 | backup 'LICENSE' 130 | replace 's/.*The VSCodium contributors/Copyright (c) 2020-present Zokugun\ 131 | Copyright (c) 2018-present The VSCodium contributors/' LICENSE 132 | 133 | for file in build/windows/msi/i18n/*.wxl; do 134 | if [ -f "$file" ]; then 135 | backup "$file" 136 | replace 's|https://github.com/VSCodium/vscodium|https://github.com/zokugun/MrCode|g' "$file" 137 | replace 's/VSCodium/MrCode/g' "$file" 138 | fi 139 | done 140 | 141 | if [[ "${DOWNLOAD_VSCODE}" == "yes" ]]; then 142 | cp ../patches/*.patch ./patches/user/ 143 | 144 | if [[ -d "../patches/${OS_NAME}/" ]]; then 145 | cp "../patches/${OS_NAME}/"*.patch ./patches/user/ 146 | fi 147 | 148 | . get_repo.sh 149 | 150 | cd vscode || exit 151 | 152 | # resources/linux/debian/control.template 153 | backup 'resources/linux/debian/control.template' 154 | replace 's|Maintainer: Microsoft Corporation |Maintainer: Baptiste Augrain |g' resources/linux/debian/control.template 155 | replace 's|Homepage: https://code\.visualstudio\.com/|Homepage: https://github.com/zokugun/MrCode|g' resources/linux/debian/control.template 156 | replace 's|visual-studio-||g' resources/linux/debian/control.template 157 | replace 's|Description: .*|Description: Code editing.|g' resources/linux/debian/control.template 158 | replace 's|Visual Studio Code is a new choice.*$|MrCode is an editor based on Visual Studio Code.|g' resources/linux/debian/control.template 159 | 160 | # resources/linux/debian/postinst.template 161 | backup 'resources/linux/debian/postinst.template' 162 | replace 's|"code"|"mrcode"|g' resources/linux/debian/postinst.template 163 | replace 's|/code|/mrcode|g' resources/linux/debian/postinst.template 164 | replace 's|vscode|mrcode|g' resources/linux/debian/postinst.template 165 | 166 | # resources/linux/snap/snapcraft.yaml 167 | backup 'resources/linux/snap/snapcraft.yaml' 168 | replace 's|summary: .*|summary: MrCode. Code editing.|g' resources/linux/snap/snapcraft.yaml 169 | replace '{N; N; N; s|Visual Studio Code.*\n.*\n.*|MrCode is an editor based on Visual Studio Code.\n|g;}' resources/linux/snap/snapcraft.yaml 170 | 171 | cd .. 172 | fi 173 | 174 | cd .. 175 | -------------------------------------------------------------------------------- /reset.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -d "vscodium" ]; then 4 | cd vscodium 5 | 6 | git add . 7 | git reset --hard HEAD 8 | 9 | rm -rf VSCode* 10 | rm -rf vscode 11 | rm -rf pkg2appimage* 12 | 13 | cd .. 14 | fi 15 | -------------------------------------------------------------------------------- /src/build/windows/msi/resources/stable/wix-banner.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/build/windows/msi/resources/stable/wix-banner.bmp -------------------------------------------------------------------------------- /src/build/windows/msi/resources/stable/wix-dialog.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/build/windows/msi/resources/stable/wix-dialog.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/bat.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/bat.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/bower.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/bower.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/c.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/c.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/code.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/code.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/config.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/config.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/cpp.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/cpp.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/csharp.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/csharp.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/css.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/css.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/default.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/default.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/go.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/go.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/html.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/html.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/jade.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/jade.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/java.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/java.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/javascript.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/javascript.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/json.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/json.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/less.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/less.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/markdown.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/markdown.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/php.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/php.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/powershell.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/powershell.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/python.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/python.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/react.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/react.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/ruby.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/ruby.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/sass.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/sass.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/shell.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/shell.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/sql.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/sql.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/typescript.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/typescript.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/vue.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/vue.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/xml.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/xml.icns -------------------------------------------------------------------------------- /src/src/stable/resources/darwin/yaml.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/darwin/yaml.icns -------------------------------------------------------------------------------- /src/src/stable/resources/linux/code-url-handler.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=@@NAME_LONG@@ - URL Handler 3 | Comment=Code Editing. 4 | GenericName=Text Editor 5 | Exec=@@EXEC@@ --open-url %U 6 | Icon=@@ICON@@ 7 | Type=Application 8 | NoDisplay=true 9 | StartupNotify=true 10 | Categories=Utility;TextEditor;Development;IDE; 11 | MimeType=x-scheme-handler/@@URLPROTOCOL@@; 12 | Keywords=mrcode;vscodium;codium;vscode; 13 | -------------------------------------------------------------------------------- /src/src/stable/resources/linux/code.appdata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | @@NAME@@.desktop 4 | @@LICENSE@@ 5 | @@LICENSE@@ 6 | @@NAME_LONG@@ 7 | https://github.com/zokugun/MrCode 8 | MrCode. Code editing. 9 | 10 |

MrCode is an editor based on Visual Studio Code.

11 |
12 | 13 | 14 | https://www.vscodium.com/img/vscodium.png 15 | Editing C 16 | 17 | 18 |
19 | -------------------------------------------------------------------------------- /src/src/stable/resources/linux/code.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=@@NAME_LONG@@ 3 | Comment=Code Editing. 4 | GenericName=Text Editor 5 | Exec=@@EXEC@@ %F 6 | Icon=@@ICON@@ 7 | Type=Application 8 | StartupNotify=false 9 | StartupWMClass=@@NAME_SHORT@@ 10 | Categories=TextEditor;Development;IDE; 11 | MimeType=text/plain;inode/directory;application/x-@@NAME@@-workspace; 12 | Actions=new-empty-window; 13 | Keywords=mrcode;vscodium;codium;vscode; 14 | 15 | [Desktop Action new-empty-window] 16 | Name=New Empty Window 17 | Name[de]=Neues leeres Fenster 18 | Name[es]=Nueva ventana vacía 19 | Name[fr]=Nouvelle fenêtre vide 20 | Name[it]=Nuova finestra vuota 21 | Name[ja]=新しい空のウィンドウ 22 | Name[ko]=새 빈 창 23 | Name[ru]=Новое пустое окно 24 | Name[zh_CN]=新建空窗口 25 | Name[zh_TW]=開新空視窗 26 | Exec=@@EXEC@@ --new-window %F 27 | Icon=@@ICON@@ 28 | -------------------------------------------------------------------------------- /src/src/stable/resources/linux/code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/linux/code.png -------------------------------------------------------------------------------- /src/src/stable/resources/server/code-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/server/code-192.png -------------------------------------------------------------------------------- /src/src/stable/resources/server/code-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/server/code-512.png -------------------------------------------------------------------------------- /src/src/stable/resources/server/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/server/favicon.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/VisualElementsManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | -------------------------------------------------------------------------------- /src/src/stable/resources/win32/bower.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/bower.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/c.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/c.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/code.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/code.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/code_150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/code_150x150.png -------------------------------------------------------------------------------- /src/src/stable/resources/win32/code_70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/code_70x70.png -------------------------------------------------------------------------------- /src/src/stable/resources/win32/config.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/config.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/cpp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/cpp.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/csharp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/csharp.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/css.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/css.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/default.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/default.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/go.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/go.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/html.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/html.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-big-100.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-big-100.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-big-125.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-big-125.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-big-150.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-big-150.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-big-175.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-big-175.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-big-200.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-big-200.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-big-225.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-big-225.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-big-250.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-big-250.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-small-100.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-small-100.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-small-125.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-small-125.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-small-150.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-small-150.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-small-175.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-small-175.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-small-200.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-small-200.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-small-225.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-small-225.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/inno-small-250.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/inno-small-250.bmp -------------------------------------------------------------------------------- /src/src/stable/resources/win32/jade.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/jade.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/java.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/java.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/javascript.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/javascript.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/json.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/json.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/less.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/less.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/markdown.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/markdown.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/php.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/php.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/powershell.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/powershell.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/python.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/python.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/react.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/react.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/ruby.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/ruby.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/sass.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/sass.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/shell.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/shell.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/sql.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/sql.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/typescript.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/typescript.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/vue.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/vue.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/xml.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/xml.ico -------------------------------------------------------------------------------- /src/src/stable/resources/win32/yaml.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zokugun/MrCode/7be9a5c0773e1a6a50b759ae950ea5f2fcc6d7eb/src/src/stable/resources/win32/yaml.ico -------------------------------------------------------------------------------- /src/src/stable/src/vs/workbench/browser/media/code-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/src/stable/src/vs/workbench/browser/parts/editor/media/letterpress-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/src/stable/src/vs/workbench/browser/parts/editor/media/letterpress-hc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/src/stable/src/vs/workbench/browser/parts/editor/media/letterpress.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /stores/snapcraft/snap/check_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | if [[ "${VSCODE_QUALITY}" == "insider" ]]; then 6 | SNAP_NAME="${APP_NAME}-insiders" 7 | else 8 | SNAP_NAME="${APP_NAME}" 9 | fi 10 | 11 | sudo snap install --channel stable --classic snapcraft 12 | 13 | echo "Architecture: ${ARCHITECTURE}" 14 | 15 | SNAP_VERSION=$(snapcraft list-revisions ${SNAP_NAME} | grep -F "stable*" | grep "${ARCHITECTURE}" | tr -s ' ' | cut -d ' ' -f 4) 16 | echo "Snap version: ${SNAP_VERSION}" 17 | 18 | wget --quiet "https://api.github.com/repos/${ASSETS_REPOSITORY}/releases" -O gh_latest.json 19 | GH_VERSION=$(jq -r 'sort_by(.tag_name)|last.tag_name' gh_latest.json) 20 | echo "GH version: ${GH_VERSION}" 21 | 22 | rm -f gh_latest.json 23 | 24 | if [[ "${SNAP_VERSION}" == "${GH_VERSION}" ]]; then 25 | export SHOULD_DEPLOY="no" 26 | else 27 | export SHOULD_DEPLOY="yes" 28 | 29 | snap version 30 | snap info "${SNAP_NAME}" | true 31 | fi 32 | 33 | if [[ "${GITHUB_ENV}" ]]; then 34 | echo "SHOULD_DEPLOY=${SHOULD_DEPLOY}" >> "${GITHUB_ENV}" 35 | fi 36 | -------------------------------------------------------------------------------- /stores/snapcraft/snap/stable/local/bin/electron-launch: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # On Fedora $SNAP is under /var and there is some magic to map it to /snap. 4 | # We need to handle that case and reset $SNAP 5 | SNAP=$(echo "$SNAP" | sed -e "s|/var/lib/snapd||g") 6 | 7 | if [ "$SNAP_ARCH" == "amd64" ]; then 8 | ARCH="x86_64-linux-gnu" 9 | elif [ "$SNAP_ARCH" == "armhf" ]; then 10 | ARCH="arm-linux-gnueabihf" 11 | elif [ "$SNAP_ARCH" == "arm64" ]; then 12 | ARCH="aarch64-linux-gnu" 13 | else 14 | ARCH="$SNAP_ARCH-linux-gnu" 15 | fi 16 | 17 | GDK_CACHE_DIR="$SNAP_USER_COMMON/.cache" 18 | if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$GDK_CACHE_DIR" ]]; then 19 | # the .cache directory used to be stored under $SNAP_USER_DATA, migrate it 20 | mv "$SNAP_USER_DATA/.cache" "$SNAP_USER_COMMON/" 21 | fi 22 | [ ! -d "$GDK_CACHE_DIR" ] && mkdir -p "$GDK_CACHE_DIR" 23 | 24 | # Gdk-pixbuf loaders 25 | export GDK_PIXBUF_MODULE_FILE="$GDK_CACHE_DIR/gdk-pixbuf-loaders.cache" 26 | export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders" 27 | if [ -f "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" ]; then 28 | "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE" 29 | fi 30 | 31 | # Create $XDG_RUNTIME_DIR if not exists (to be removed when https://pad.lv/1656340 is fixed) 32 | [ -n "$XDG_RUNTIME_DIR" ] && mkdir -p "$XDG_RUNTIME_DIR" -m 700 33 | 34 | exec "$@" 35 | -------------------------------------------------------------------------------- /stores/snapcraft/snap/stable/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: mrcode 2 | adopt-info: mrcode 3 | summary: MrCode. Code editing. 4 | description: | 5 | MrCode is an editor based on Visual Studio Code. 6 | 7 | base: core18 8 | grade: stable 9 | confinement: classic 10 | 11 | parts: 12 | mrcode: 13 | plugin: nil 14 | override-build: | 15 | set -eu 16 | ARCHITECTURE=$(dpkg --print-architecture) 17 | # Get GitHub releases 18 | wget --quiet https://api.github.com/repos/zokugun/MrCode/releases/latest -O latest.json 19 | VERSION=$(jq -r .tag_name latest.json) 20 | DEB_URL=$(grep browser_download latest.json | grep deb\" | grep $ARCHITECTURE | grep -v sha256 | cut -d'"' -f4 | tail -n 1) 21 | DEB=$(basename "${DEB_URL}") 22 | # Downloading .deb" 23 | wget "${DEB_URL}" -O "${SNAPCRAFT_PART_INSTALL}/${DEB}" 24 | # Unpacking .deb" 25 | dpkg -x "${SNAPCRAFT_PART_INSTALL}/${DEB}" ${SNAPCRAFT_PART_INSTALL} 26 | rm -f latest.json 27 | rm -f "${SNAPCRAFT_PART_INSTALL}/${DEB}" 28 | # Correct path to icon. 29 | sed -i 's|Icon=mrcode|Icon=${SNAP}/usr/share/pixmaps/mrcode.png|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/mrcode.desktop 30 | sed -i 's|Exec=/usr/share/mrcode/mrcode|Exec=mrcode|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/mrcode.desktop 31 | sed -i 's|Icon=mrcode|Icon=/usr/share/pixmaps/mrcode.png|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/mrcode-url-handler.desktop 32 | # Set version 33 | echo $VERSION > $SNAPCRAFT_STAGE/version 34 | snapcraftctl set-version "$VERSION" 35 | build-packages: 36 | - dpkg 37 | - jq 38 | - sed 39 | - wget 40 | stage-packages: 41 | - ibus-gtk3 42 | - fcitx-frontend-gtk3 43 | - gvfs-libs 44 | - libasound2 45 | - libgconf-2-4 46 | - libglib2.0-bin 47 | - libgnome-keyring0 48 | - libgbm1 49 | - libgtk-3-0 50 | - libxkbfile1 51 | - libnotify4 52 | - libnspr4 53 | - libnss3 54 | - libpcre3 55 | - libpulse0 56 | - libsecret-1-0 57 | - libxshmfence1 58 | - libxss1 59 | - libxtst6 60 | - zlib1g 61 | prime: 62 | - -usr/share/doc 63 | - -usr/share/fonts 64 | - -usr/share/icons 65 | - -usr/share/lintian 66 | - -usr/share/man 67 | 68 | electron-launch: 69 | after: 70 | - mrcode 71 | plugin: dump 72 | source: snap/local 73 | 74 | apps: 75 | mrcode: 76 | command: electron-launch $SNAP/usr/share/mrcode/bin/mrcode --no-sandbox 77 | common-id: mrcode.desktop 78 | environment: 79 | DISABLE_WAYLAND: 1 80 | GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas 81 | 82 | url-handler: 83 | command: electron-launch $SNAP/usr/share/mrcode/bin/mrcode --open-url --no-sandbox 84 | environment: 85 | DISABLE_WAYLAND: 1 86 | GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas 87 | -------------------------------------------------------------------------------- /update_upstream.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # shellcheck disable=SC2129 3 | 4 | set -e 5 | 6 | if [[ "${SHOULD_BUILD}" != "yes" ]]; then 7 | echo "Will not update version JSON because we did not build" 8 | exit 0 9 | fi 10 | 11 | jsonTmp=$( cat "./upstream/${VSCODE_QUALITY}.json" | jq --arg 'release' "${RELEASE_VERSION}" --arg 'tag' "${VSCODIUM_TAG}" --arg 'commit' "${VSCODIUM_COMMIT}" '. | .release=$release | .tag=$tag | .commit=$commit' ) 12 | echo "${jsonTmp}" > "./upstream/${VSCODE_QUALITY}.json" && unset jsonTmp 13 | 14 | git add . 15 | 16 | CHANGES=$( git status --porcelain ) 17 | 18 | if [[ -n "${CHANGES}" ]]; then 19 | git commit -S -m "build(${VSCODE_QUALITY}): update to commit ${MS_COMMIT:0:7}" 20 | 21 | BRANCH_NAME=$( git rev-parse --abbrev-ref HEAD ) 22 | 23 | if ! git push origin "${BRANCH_NAME}" --quiet; then 24 | git pull origin "${BRANCH_NAME}" 25 | git push origin "${BRANCH_NAME}" --quiet 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /upstream/stable.json: -------------------------------------------------------------------------------- 1 | { 2 | "release": "1.99.22517", 3 | "tag": "1.99.22418", 4 | "commit": "f30a9df3f4cfa8c7b951df66b75cd4e12eb88283" 5 | } 6 | -------------------------------------------------------------------------------- /utils/pkgver.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LATEST_TAG=$(git rev-list --tags --max-count=1) 4 | 5 | echo "latest: $( git describe --tags "$LATEST_TAG" | sed 's/\([^-]*-g\)/r\1/;s/-/./g' )" 6 | 7 | echo "current: $( git describe --long --tags )" 8 | 9 | echo "current: $( git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g' )" 10 | --------------------------------------------------------------------------------