-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinstall.py
executable file
·45 lines (32 loc) · 1.39 KB
/
install.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env python3
from glob import glob
import os
workingdir = os.path.dirname(os.path.realpath(__file__))
sublime_config_dir = os.path.join(os.path.expanduser('~'), '.config/sublime-text-3/Packages/User')
settings = glob(os.path.join(workingdir, 'config/*.sublime-*'))
snippets = glob(os.path.join(workingdir, 'snippets/*.sublime-*'))
keymaps = glob(os.path.join(workingdir, 'keymaps/*.sublime-*'))
mousemaps = glob(os.path.join(workingdir, 'mousemaps/*.sublime-*'))
build_systems = glob(os.path.join(workingdir, 'build_systems/*.sublime-*'))
files = settings + snippets + keymaps + mousemaps + build_systems
def symlinkFile(path):
"""Symlink a single config file"""
basename = os.path.basename(path)
livepath = os.path.join(sublime_config_dir, basename)
if os.path.isfile(livepath) and not os.path.islink(livepath):
print('Deleting existing file ' + basename + ' ... ', end='')
os.remove(livepath)
print('DONE')
if not os.path.islink(livepath):
print('Symlinking ' + basename + ' ... ', end='')
os.symlink(path, livepath)
print('DONE')
def main():
"""Main execution function"""
if not os.path.isdir(sublime_config_dir):
print('No config directory found at ' + sublime_config_dir + ', is Sublime Text installed?')
exit(1)
for path in files:
symlinkFile(path)
if __name__ == '__main__':
main()