32 lines
690 B
V
32 lines
690 B
V
module caddy
|
|
|
|
pub fn plugin_is_installed(plugin_ string) !bool {
|
|
plugin := plugin_.trim_space()
|
|
result := osal.exec(cmd: 'caddy list-modules --packages')!
|
|
|
|
mut lines := result.output.split('\n')
|
|
|
|
mut standardard_packages := []string{}
|
|
mut nonstandardard_packages := []string{}
|
|
|
|
mut standard := true
|
|
for mut line in lines {
|
|
line = line.trim_space()
|
|
if line == '' {
|
|
continue
|
|
}
|
|
if line.starts_with('Standard modules') {
|
|
standard = false
|
|
continue
|
|
}
|
|
package := line.all_after(' ')
|
|
if standard {
|
|
standardard_packages << package
|
|
} else {
|
|
nonstandardard_packages << package
|
|
}
|
|
}
|
|
|
|
return plugin in standardard_packages || plugin in nonstandardard_packages
|
|
}
|