feat(commands): refactor and add more commands
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"github.com/versenilvis/iris/commands/core"
|
||||
)
|
||||
|
||||
func init() {
|
||||
core.Register(&core.Spec{
|
||||
Name: "cd",
|
||||
Description: "change directory",
|
||||
Generator: core.FileGenerator("/"), // Directory only
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"github.com/versenilvis/iris/commands/core"
|
||||
)
|
||||
|
||||
func init() {
|
||||
core.Register(&core.Spec{
|
||||
Name: "chmod",
|
||||
Description: "change file permissions",
|
||||
Generator: core.FileGenerator(),
|
||||
Options: []core.Option{
|
||||
{Name: "-R", Description: "recursive"},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"github.com/versenilvis/iris/commands/core"
|
||||
)
|
||||
|
||||
func init() {
|
||||
core.Register(&core.Spec{
|
||||
Name: "chown",
|
||||
Description: "change file owner",
|
||||
Generator: core.FileGenerator(),
|
||||
Options: []core.Option{
|
||||
{Name: "-R", Description: "recursive"},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"github.com/versenilvis/iris/commands/core"
|
||||
)
|
||||
|
||||
func init() {
|
||||
core.Register(&core.Spec{
|
||||
Name: "cp",
|
||||
Description: "copy files and directories",
|
||||
Generator: core.FileGenerator(),
|
||||
Options: []core.Option{
|
||||
{Name: "-r", Description: "recursive"},
|
||||
{Name: "-a", Description: "archive mode"},
|
||||
{Name: "-v", Description: "verbose"},
|
||||
{Name: "-i", Description: "interactive"},
|
||||
{Name: "-u", Description: "update (copy only if newer)"},
|
||||
{Name: "-p", Description: "preserve attributes"},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"github.com/versenilvis/iris/commands/core"
|
||||
)
|
||||
|
||||
func init() {
|
||||
core.Register(&core.Spec{
|
||||
Name: "ln",
|
||||
Description: "create links",
|
||||
Generator: core.FileGenerator(),
|
||||
Options: []core.Option{
|
||||
{Name: "-s", Description: "symbolic link"},
|
||||
{Name: "-f", Description: "force"},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"github.com/versenilvis/iris/commands/core"
|
||||
)
|
||||
|
||||
func init() {
|
||||
core.Register(&core.Spec{
|
||||
Name: "ls",
|
||||
Description: "list directory contents",
|
||||
Generator: core.FileGenerator(),
|
||||
Options: []core.Option{
|
||||
{Name: "-a", Description: "all files"},
|
||||
{Name: "-l", Description: "long format"},
|
||||
{Name: "-h", Description: "human readable"},
|
||||
{Name: "-R", Description: "recursive"},
|
||||
{Name: "-t", Description: "sort by time"},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"github.com/versenilvis/iris/commands/core"
|
||||
)
|
||||
|
||||
func init() {
|
||||
core.Register(&core.Spec{
|
||||
Name: "mkdir",
|
||||
Description: "make directories",
|
||||
Options: []core.Option{
|
||||
{Name: "-p", Description: "create parent dirs"},
|
||||
{Name: "-v", Description: "verbose"},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"github.com/versenilvis/iris/commands/core"
|
||||
)
|
||||
|
||||
func init() {
|
||||
core.Register(&core.Spec{
|
||||
Name: "mv",
|
||||
Description: "move (rename) files",
|
||||
Generator: core.FileGenerator(),
|
||||
Options: []core.Option{
|
||||
{Name: "-i", Description: "interactive"},
|
||||
{Name: "-f", Description: "force (overwrite)"},
|
||||
{Name: "-n", Description: "no clobber (don't overwrite)"},
|
||||
{Name: "-v", Description: "verbose"},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"github.com/versenilvis/iris/commands/core"
|
||||
)
|
||||
|
||||
func init() {
|
||||
core.Register(&core.Spec{
|
||||
Name: "rm",
|
||||
Description: "remove files or directories",
|
||||
Generator: core.FileGenerator(),
|
||||
Options: []core.Option{
|
||||
{Name: "-r", Description: "recursive"},
|
||||
{Name: "-f", Description: "force"},
|
||||
{Name: "-i", Description: "interactive"},
|
||||
{Name: "-v", Description: "verbose"},
|
||||
{Name: "-d", Description: "remove empty directories"},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"github.com/versenilvis/iris/commands/core"
|
||||
)
|
||||
|
||||
func init() {
|
||||
core.Register(&core.Spec{
|
||||
Name: "touch",
|
||||
Description: "create or update file timestamp",
|
||||
Generator: core.FileGenerator(),
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user