forked from elkasztano/nushell-syntax-vim
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.nu
More file actions
77 lines (58 loc) · 2.01 KB
/
install.nu
File metadata and controls
77 lines (58 loc) · 2.01 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# nushell syntax installation script
# this is my very first nushell script
# use at your own risk
let system_os = (sys host).long_os_version
print $"your system: '($system_os)'"
if ($system_os starts-with "Linux") {
let vimdir = $"($env.HOME)/.vim"
let dirlist = [
$"($vimdir)/syntax",
$"($vimdir)/ftplugin",
$"($vimdir)/ftdetect",
$"($vimdir)/indent"
]
let filetable = [
{src: $"($env.PWD)/syntax/nu.vim", trg: $"($vimdir)/syntax"},
{src: $"($env.PWD)/ftplugin/nu.vim", trg: $"($vimdir)/ftplugin"},
{src: $"($env.PWD)/ftdetect/nu.vim", trg: $"($vimdir)/ftdetect"},
{src: $"($env.PWD)/indent/nu.vim", trg: $"($vimdir)/indent"}
]
install $vimdir $dirlist $filetable
} else if ($system_os starts-with "Windows") {
let homedir = $"($env.HOMEDRIVE)($env.HOMEPATH)"
let vimdir = $"($homedir)\\vimfiles"
let dirlist = [
$"($vimdir)\\syntax",
$"($vimdir)\\ftplugin",
$"($vimdir)\\ftdetect",
$"($vimdir)\\indent"
]
let filetable = [
{src: $"($env.PWD)\\syntax\\nu.vim", trg: $"($vimdir)\\syntax"},
{src: $"($env.PWD)\\ftplugin\\nu.vim", trg: $"($vimdir)\\ftplugin"},
{src: $"($env.PWD)\\ftdetect\\nu.vim", trg: $"($vimdir)\\ftdetect"},
{src: $"($env.PWD)\\indent\\nu.vim", trg: $"($vimdir)\\indent"}
]
install $vimdir $dirlist $filetable
} else {
print $"(ansi -e '0;33;1m')currently only Linux or Windows systems supported - exiting(ansi -e '0m')"
exit 1
}
def install [vimdir, dirlist, filetable] {
if not ( $vimdir | path exists ) {
print $"creating '($vimdir)'"
mkdir $vimdir
} else {
print $"directory '($vimdir)' already exists"
}
$dirlist | where not ($it | path exists) | each {
|it|
print $"creating directory '($it)'"
mkdir $it
} | ignore
$filetable | each {
|it|
print $"copying (ansi -e '0;1m')'($it.src)'(ansi -e '0m') to (ansi -e '0;1m')'($it.trg)'(ansi -e '0m')"
cp $it.src $it.trg
} | ignore
}