├── .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 |
4 |
5 | [](https://github.com/zokugun/MrCode/blob/master/LICENSE)
6 | [](https://github.com/zokugun/MrCode/releases)
7 | [](https://github.com/zokugun/MrCode/actions?query=workflow%3Awindows)
8 | [](https://github.com/zokugun/MrCode/actions?query=workflow%3AmacOS)
9 | [](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 | 
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 |
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 |
16 |
--------------------------------------------------------------------------------
/src/src/stable/src/vs/workbench/browser/parts/editor/media/letterpress-dark.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/src/src/stable/src/vs/workbench/browser/parts/editor/media/letterpress-hc.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/src/src/stable/src/vs/workbench/browser/parts/editor/media/letterpress.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
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 |
--------------------------------------------------------------------------------