Skip to content

Commit ddf912b

Browse files
committed
Fix vscode if installed as flatpak
1 parent cc766bc commit ddf912b

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

yin_yang/plugins/vscode.py

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
22
import json
33
import logging
4+
from itertools import chain
45
from os.path import isdir, isfile
56
from pathlib import Path
67

@@ -9,17 +10,21 @@
910
logger = logging.getLogger(__name__)
1011

1112
extension_paths = [
12-
str(Path.home()) + '/.vscode/extensions',
13-
str(Path.home()) + '/.vscode-insiders/extensions',
14-
str(Path.home()) + '/.vscode-oss/extensions',
13+
str(Path.home() / '.vscode/extensions'),
14+
str(Path.home() / '.vscode-insiders/extensions'),
15+
str(Path.home() / '.vscode-oss/extensions'),
1516
'/usr/lib/code/extensions',
1617
'/usr/lib/code-insiders/extensions',
1718
'/usr/share/code/resources/app/extensions',
1819
'/usr/share/code-insiders/resources/app/extensions',
1920
'/opt/visual-studio-code/resources/app/extensions/',
2021
'/opt/visual-studio-code-insiders/resources/app/extensions/',
2122
'/var/lib/snapd/snap/code/current/usr/share/code/resources/app/extensions/',
22-
'/var/lib/snapd/snap/code-insiders/current/usr/share/code-insiders/resources/app/extensions/'
23+
'/var/lib/snapd/snap/code-insiders/current/usr/share/code-insiders/resources/app/extensions/',
24+
str(Path.home() / '.var/app/com.visualstudio.code/data/vscode/extensions/'),
25+
str(Path.home() / '.var/app/com.visualstudio.code-oss/data/vscode/extensions/'),
26+
str(Path.home() / '.var/app/com.vscodium.codium/data/codium/extensions/'),
27+
'/var/lib/flatpak/app/com.visualstudio.code/current/active/files/extra/vscode/resources/app/extensions/'
2328
]
2429

2530

@@ -75,11 +80,19 @@ def set_theme(self, theme: str):
7580
"Code",
7681
"Code - Insiders",
7782
]
83+
config_path = str(Path.home() / '.config/{name}/User/settings.json')
84+
native_settings = (config_path.format(name=name) for name in possible_editors)
85+
86+
flatpak_settings = [
87+
str(Path.home() / '.var/app/com.visualstudio.code/config/Code/User/settings.json'),
88+
str(Path.home() / '.var/app/com.visualstudio.code-oss/config/Code - OSS/User/settings.json'),
89+
str(Path.home() / '.var/app/com.vscodium.codium/config/VSCodium/User/settings.json')
90+
]
7891

7992
try:
8093
for editor in filter(
8194
os.path.isfile,
82-
(f'{str(Path.home())}/.config/{name}/User/settings.json' for name in possible_editors)):
95+
chain(native_settings, flatpak_settings)):
8396
# load the settings
8497
with open(editor, "r") as sett:
8598
try:

0 commit comments

Comments
 (0)