Compare commits

...

5 Commits

Author SHA1 Message Date
TorchedSammy 23f6986123 chore: add semantic pull requests config 2021-03-31 14:08:34 -04:00
TorchedSammy 2d93f2ce4a chore: update todo 2021-03-31 13:57:20 -04:00
TorchedSammy b1f2a36639 fix: trim spaces in cd func 2021-03-31 13:46:49 -04:00
TorchedSammy 204d50d73c feat(preload/cd): throw command hooks in cd command and add support for folders with spaces 2021-03-31 13:46:22 -04:00
TorchedSammy 0987899144 fix: throw command.success hook after successfullua input 2021-03-31 12:53:39 -04:00
5 changed files with 17 additions and 7 deletions

1
.github/semantic.yml vendored 100644
View File

@ -0,0 +1 @@
titleAndCommits: true

View File

@ -7,3 +7,4 @@
- [x] Hooks - [x] Hooks
- [x] Aliases - [x] Aliases
- [ ] hlua (hilbish lua) - 100% lua in the hilbish interactive shell, cuz why not - [ ] hlua (hilbish lua) - 100% lua in the hilbish interactive shell, cuz why not
- [ ] Petals (name of plugins)

View File

@ -2,6 +2,7 @@ package fs
import ( import (
"os" "os"
"strings"
"github.com/yuin/gopher-lua" "github.com/yuin/gopher-lua"
) )
@ -26,7 +27,7 @@ var exports = map[string]lua.LGFunction{
func cd(L *lua.LState) int { func cd(L *lua.LState) int {
path := L.ToString(1) path := L.ToString(1)
err := os.Chdir(path) err := os.Chdir(strings.TrimSpace(path))
if err != nil { if err != nil {
switch err.(*os.PathError).Err.Error() { switch err.(*os.PathError).Err.Error() {
case "no such file or directory": case "no such file or directory":

View File

@ -108,6 +108,7 @@ func main() {
if err == nil { if err == nil {
// If it succeeds, add to history and prompt again // If it succeeds, add to history and prompt again
readline.AddHistory(cmdString) readline.AddHistory(cmdString)
bait.Em.Emit("command.success", nil)
continue continue
} }

View File

@ -5,17 +5,23 @@ local fs = require 'fs'
local commander = require 'commander' local commander = require 'commander'
local bait = require 'bait' local bait = require 'bait'
commander.register('cd', function (path) commander.register('cd', function (args)
if #path == 1 then bait.throw('cd', args)
local ok, err = pcall(function() fs.cd(path[1]) end) if #args > 0 then
local path = ''
for i = 1, #args do
path = path .. tostring(args[i]) .. ' '
end
local ok, err = pcall(function() fs.cd(path) end)
if not ok then if not ok then
if err == 1 then if err == 1 then
print('directory does not exist') print('directory does not exist')
end end
end bait.throw('command.fail', nil)
bait.throw('cd', path) else bait.throw('command.success', nil) end
return return
end end
fs.cd(os.getenv 'HOME') fs.cd(os.getenv 'HOME')
bait.throw('cd', path) bait.throw('command.success', nil)
end) end)